comp.lang.ada
 help / color / mirror / Atom feed
* ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
@ 2008-07-22  8:00 google1
  2008-07-22 11:01 ` Ludovic Brenta
                   ` (2 more replies)
  0 siblings, 3 replies; 29+ messages in thread
From: google1 @ 2008-07-22  8:00 UTC (permalink / raw)


Hi. I'm working on a project to eventually produce a mailing list
server in Ada. I've completed the first major 'deliverable' for
the project, an email and MIME library in Ada 2005.

The project page is located at:
<http://hafdconsulting.com/libre/basil>

The library has the following capabilities:

* Serialization and unserialization of Messages, including those
  with MIME parts, and API methods to easily do common things
  with the message objects.

* An API for MIME children of message objects (and of other MIME
  entities), based on the Ada List container. Essentially the
  model is of a message object and a list of children, who can
  themselves have children. More abstractly, it is a n-tree. I
  provide a Cursor object for which you can choose one of two
  traversal strategies. One simply walks the children of one
  entity, and the other, 'recursive' strategy, walks the entire
  n-tree.

* Very flexible parsers for RFC 2822 Date, Address, and Message
  ID headers, and of RFC 2045 Content-Type and Content-Transfer-
  Encoding headers. Data structures to represent such objects
  (for the date it uses an Ada Time object), and means to
  serialize the objects into fully compliant message headers.

* Base64 and Quoted-Printable encoding and decoding.

* Encapsualization and unencapsualization of message headers
  containing non-ASCII values conforming to RFC 2047.

I've written a software specification for the library and a test
suite. I'll be writing a user manual shortly as well, but I've
also extensively commented the spec files to serve as a basis for
the adabrowse reference manual.

My original software spec document didn't include support for RFC 2183
Content-Disposition headers, so they aren't in this version of the
library, although they are rather important for managing MIME parts so
I'll try to get that into the library soon. I'll probably hold off on
writing the manual until that's done.

Thanks,

--
Jordan Bettis



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-22  8:00 ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0 google1
@ 2008-07-22 11:01 ` Ludovic Brenta
  2008-07-22 12:51   ` Georg Bauhaus
  2008-07-22 16:35   ` google1
  2008-07-22 12:26 ` Thomas Locke
  2008-07-25 11:47 ` Alex R. Mosteo
  2 siblings, 2 replies; 29+ messages in thread
From: Ludovic Brenta @ 2008-07-22 11:01 UTC (permalink / raw)


> Hi. I'm working on a project to eventually produce a mailing list
> server in Ada. I've completed the first major 'deliverable' for
> the project, an email and MIME library in Ada 2005.
>
[...]
> I've written a software specification for the library and a test
> suite. I'll be writing a user manual shortly as well, but I've
> also extensively commented the spec files to serve as a basis for
> the adabrowse reference manual.

Wow, this looks quite professional! Are you planning to merge your
library into AdaCore's Ada Web Server (http://libre.adacore.com/aws),
which already includes an SMTP client and server but apparently lacks
the powerful mail handling capabilities of your library?

Thanks for your contribution to Ada!

--
Ludovic Brenta.



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-22  8:00 ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0 google1
  2008-07-22 11:01 ` Ludovic Brenta
@ 2008-07-22 12:26 ` Thomas Locke
  2008-07-22 15:31   ` Colin Paul Gloster
  2008-07-25 11:47 ` Alex R. Mosteo
  2 siblings, 1 reply; 29+ messages in thread
From: Thomas Locke @ 2008-07-22 12:26 UTC (permalink / raw)


google1@hafdconsulting.com wrote:
> Hi. I'm working on a project to eventually produce a mailing list
> server in Ada. I've completed the first major 'deliverable' for
> the project, an email and MIME library in Ada 2005.
> 
> The project page is located at:
> <http://hafdconsulting.com/libre/basil>
> [snip]
> Thanks,
> 
> --
> Jordan Bettis

Thank you Jordan for this awesome piece of software!

I'm using mailman on a few of the servers I manage, but I would love to 
switch to an Ada powered solution.

I will keep an eye on this very interesting project.

Regards,
/Thomas

ps. I'm trying to learn Ada, and I've already learned something from 
just reading the Basil sourcecode. Good stuff! Thank you again for this 
great contribution to the Ada community.  :o)



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v  1.0
  2008-07-22 11:01 ` Ludovic Brenta
@ 2008-07-22 12:51   ` Georg Bauhaus
  2008-07-22 16:35   ` google1
  1 sibling, 0 replies; 29+ messages in thread
From: Georg Bauhaus @ 2008-07-22 12:51 UTC (permalink / raw)


Ludovic Brenta schrieb:

> Are you planning to merge your
> library into AdaCore's Ada Web Server (http://libre.adacore.com/aws),
> which already includes an SMTP client and server but apparently lacks
> the powerful mail handling capabilities of your library?

Basil describes itself as made with current Ada, and just Ada,
which is excellent.  Although AdaCore Web Server is a
very useful collection of software, and will profit from MIME
components as you say, basil is different in that it requires
Ada, just Ada, and not GNAT :-) It's free Ada software!

Should be trivial to

(a) integrate Basil with AWS's SMTP components in user programs and
(b) have Basil stay independent!

Perfect.


> Thanks for your contribution to Ada!

Yes. Indeed.


--
Georg Bauhaus
Y A Time Drain  http://www.9toX.de



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-22 12:26 ` Thomas Locke
@ 2008-07-22 15:31   ` Colin Paul Gloster
  2008-07-22 23:30     ` Randy Brukardt
  0 siblings, 1 reply; 29+ messages in thread
From: Colin Paul Gloster @ 2008-07-22 15:31 UTC (permalink / raw)


On Tue, 22 Jul 2008, Thomas wrote:

|------------------------------------------------------------------------------|
|"google1@hafdconsulting.com wrote:                                            |
|> Hi. I'm working on a project to eventually produce a mailing list           |
|> server in Ada. I've completed the first major 'deliverable' for             |
|> the project, an email and MIME library in Ada 2005.                         |
|>                                                                             |
|> The project page is located at:                                             |
|> <http://hafdconsulting.com/libre/basil>                                     |
|> [snip]                                                                      |
|> Thanks,                                                                     |
|>                                                                             |
|> --                                                                          |
|> Jordan Bettis                                                               |
|                                                                              |
|Thank you Jordan for this awesome piece of software!                          |
|                                                                              |
|I'm using mailman on a few of the servers I manage, but I would love to switch|
|to an Ada powered solution.                                                   |
|                                                                              |
|I will keep an eye on this very interesting project.                          |
|                                                                              |
|[..]"                                                                         |
|------------------------------------------------------------------------------|

Salutations to gentlemen in Chicago and Herlev,

Please post again to news:comp.lang.ada with reports of how well the
mail server has been working. After some experience, it might be
worthwhile for various Ada organizations to replace the solutions
which they currently use with the new mailserver software. It might be
trickier for ACM SIGAda which uses the ACM's central ListServ system,
but I suspect that the the smaller scale operations could readily
adopt the option from HAFD Consulting.

Regards,
Paul Colin



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-22 11:01 ` Ludovic Brenta
  2008-07-22 12:51   ` Georg Bauhaus
@ 2008-07-22 16:35   ` google1
  2008-07-22 17:19     ` Ludovic Brenta
  1 sibling, 1 reply; 29+ messages in thread
From: google1 @ 2008-07-22 16:35 UTC (permalink / raw)


On Jul 22, 6:01 am, Ludovic Brenta <ludo...@ludovic-brenta.org> wrote:
> Wow, this looks quite professional! Are you planning to merge your
> library into AdaCore's Ada Web Server (http://libre.adacore.com/aws),
> which already includes an SMTP client and server but apparently lacks
> the powerful mail handling capabilities of your library?

Hi Ludovic.

I hadn't considered merging with AWS. It seems mostly focused on RFC
2821 (SMTP) and you actually wouldn't need MIME in an RFC 2821 MTA,
nor would you need SMTP in an MUA (or anything designed to run as a
client to an MTA like a mailing list server). Where Basil could
complement AWS is with its RFC 2822 structured header parsers, which
an MTA would need.

Probably the best way to do it would be to make a glue package that
can translate AWS header objects into Basil header objects, so you can
use the structured header parsers, and then back again. I don't think
that would be very difficult and I could probably get that in the next
release.



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-22 16:35   ` google1
@ 2008-07-22 17:19     ` Ludovic Brenta
  2008-07-22 19:43       ` google1
  0 siblings, 1 reply; 29+ messages in thread
From: Ludovic Brenta @ 2008-07-22 17:19 UTC (permalink / raw)


google1@hafdconsulting.com writes:
> On Jul 22, 6:01 am, Ludovic Brenta wrote:
>> Wow, this looks quite professional! Are you planning to merge your
>> library into AdaCore's Ada Web Server (http://libre.adacore.com/aws),
>> which already includes an SMTP client and server but apparently lacks
>> the powerful mail handling capabilities of your library?
>
> Hi Ludovic.
>
> I hadn't considered merging with AWS. It seems mostly focused on RFC
> 2821 (SMTP) and you actually wouldn't need MIME in an RFC 2821 MTA,
> nor would you need SMTP in an MUA (or anything designed to run as a
> client to an MTA like a mailing list server). Where Basil could
> complement AWS is with its RFC 2822 structured header parsers, which
> an MTA would need.
>
> Probably the best way to do it would be to make a glue package that
> can translate AWS header objects into Basil header objects, so you can
> use the structured header parsers, and then back again. I don't think
> that would be very difficult and I could probably get that in the next
> release.

If you're planning to use AWS's SMTP client code, it looks like you're
going to need this glue for your mailing list server anyway.

The reason I wasn asking is not because I was interested in using your
library; only because I think it is nice in general to consolidate
small but related libraries into larger ones, or at least host them in
common places, so that users can find them more easily.  Another
benefit is to avoid inconsistencies and incompatilibities between
libraries, so that a single program can use several libraries
simultaneously.  And, of course, to reduce duplication of work.
Speaking of which, is there a good reason why Basil needs its own
"header objects" different from AWS's "header objects"?

-- 
Ludovic Brenta.



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-22 17:19     ` Ludovic Brenta
@ 2008-07-22 19:43       ` google1
  2008-07-23 11:07         ` Ludovic Brenta
  0 siblings, 1 reply; 29+ messages in thread
From: google1 @ 2008-07-22 19:43 UTC (permalink / raw)


On Jul 22, 12:19 pm, Ludovic Brenta <ludo...@ludovic-brenta.org>
wrote:
> If you're planning to use AWS's SMTP client code, it looks like you're
> going to need this glue for your mailing list server anyway.

SMTP won't be needed for the mailing list. People want mailing list
servers
that are integrated with their existing MTA systems, they don't want
stand-alone systems. Mailman, one should note, provides interfaces
with
all the popular Unix MTAs and it's quite a bit of their code base,
they
did not, last I looked, provide an integrated MTA. There *might* be
some advantage to providing an integrated MTA particularly if AWS
makes
that very easy to do, but it would not be a very popular feature of
the
system at all.

I am considering using AWS for the web interface portion, but then
again
you have the same integration problem. People want their web
applications
to run behind the web server *they* choose (or at least Apache) they
don't
want a stand-alone system. There are some people around working on web
interface systems for Ada. When I get to that phase I'll look at them,
and
also look into the possibility of making an AWS-based system integrate
with
Apache. But integration with existing web servers is a killer feature
for
any interface I choose.

> The reason I wasn asking is not because I was interested in using your
> library; only because I think it is nice in general to consolidate
> small but related libraries into larger ones,

I take exception to your belief that Basil is a "small" library:

[murat:~/projects/basil-1.0]$ sloccount .
[...]
Totals grouped by language (dominant language first):
ada:          10823 (98.29%)
python:         146 (1.33%)
sh:              42 (0.38%)

Total Physical Source Lines of Code (SLOC)                = 11,011
Development Effort Estimate, Person-Years (Person-Months) = 2.48
(29.79)
 (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months)                         = 0.76
(9.08)
 (Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule)  = 3.28
Total Estimated Cost to Develop                           = $ 335,397
 (average salary = $56,286/year, overhead = 2.40).
SLOCCount, Copyright (C) 2001-2004 David A. Wheeler

> or at least host them in
> common places, so that users can find them more easily.

Well, I have a 'selfish asshole' motive for working on these projects
and provide them as free software, that is to promote my business.
And that is why they'll be hosted on my professional website.
But I think inside a week if you put "MIME" and "Ada" into google,
that page will be the top hit, with this message and other forms of
publicity. Mr. Hermann has already informed me that he has added it
to his list of Ada resources, for instance. And of course, the Debian
developers around here could certainly help make it easier for people
to find and use it. :)

> Another
> benefit is to avoid inconsistencies and incompatilibities between
> libraries, so that a single program can use several libraries
> simultaneously.  And, of course, to reduce duplication of work.
> Speaking of which, is there a good reason why Basil needs its own
> "header objects" different from AWS's "header objects"?

Compared to *everthing else* in RFC 2822 and MIME, unstructured
headers are a very simple concept. They're just a key string, a colon,
and a value string, terminated by a non-folded CRLF sequence. RFC
2822 specifies the CRLF but to make Basil more robust, I made it also
handle lone CR or LFs.

So that was no great part of the library but it is a core part. To
use AWS I would have had to integrate every layer with that system,
making it a hard-dependency for building or using Basil, just so it
could do the light lifting beneath all of Basil's heavy lifting.

Also, my header lists *are* integrated into the Doubly_Linked_List
containers. My Headers.Lists.List object is a subtype of the DLL,
so any operation you could perform on a DLL you can perform on my
lists (except sorting isn't supported because of that interior
generic). I also provide a custom equality function that considers
things equal if their case insensitive keys are equal (per RFC 2822),
this allows you do do something like use the Find operation to iterate
over all headers with the same key.

I tried to make this library integrate very well with the Ada
language,
to leverage the power of the features that it has and provide an
interface that mimics the behavior of relevant core interfaces that
are already well-understood. I didn't see much use in integrating
with
vaguely related external third-party libraries, making the system
more
difficult to install and use.

But anyway, that's why I made the technical decisions I made. Of
course
writing software is the process of choosing between many different
choices which all have their merits and downsides. Maybe you're right
and I should have done this completely differently, there's not really
any way to know for sure. I would like to thank you for your
incredibly
fast response to the bug I filed against gnatpp.

Thanks,

--
Jordan Bettis



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-22 15:31   ` Colin Paul Gloster
@ 2008-07-22 23:30     ` Randy Brukardt
  0 siblings, 0 replies; 29+ messages in thread
From: Randy Brukardt @ 2008-07-22 23:30 UTC (permalink / raw)


"Colin Paul Gloster" <Colin_Paul_Gloster@ACM.org> wrote in message 
news:Pine.WNT.4.64.0807221619570.3144@teor2...
...
> Salutations to gentlemen in Chicago and Herlev,
>
> Please post again to news:comp.lang.ada with reports of how well the
> mail server has been working. After some experience, it might be
> worthwhile for various Ada organizations to replace the solutions
> which they currently use with the new mailserver software. It might be
> trickier for ACM SIGAda which uses the ACM's central ListServ system,
> but I suspect that the the smaller scale operations could readily
> adopt the option from HAFD Consulting.

For what it's worth, R.R. Software and most of the AdaIC functions have been 
running on a primarily Ada mail server (and all Ada web server) for several 
years. I use an ancient public domain mail server for local mail delivery 
(POP3) and an ancient mailing list program to handle the mailing list, but 
all of the mail receiving, delivery, and spam filter functions are in Ada.

The question will be asked why it was never made available to the community, 
and the answer is that it wasn't designed to be that -- it was intended to 
be a professional grade spam filter and as such the *code* wasn't documented 
much nor made very flexible. (In particular, there aren't any libraries that 
could be used in other applications, although I'm sure parts could be 
extracted.) There's plenty of user-level documentation, but that's it. (It's 
also a Claw application, and as such fairly tied to Windows for its user 
interface.)

                                           Randy.





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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-22 19:43       ` google1
@ 2008-07-23 11:07         ` Ludovic Brenta
  2008-07-23 11:33           ` Georg Bauhaus
                             ` (2 more replies)
  0 siblings, 3 replies; 29+ messages in thread
From: Ludovic Brenta @ 2008-07-23 11:07 UTC (permalink / raw)


goog...@hafdconsulting.com wrote:
> On Jul 22, 12:19 pm, Ludovic Brenta wrote:
>> If you're planning to use AWS's SMTP client code, it looks like you're
>> going to need this glue for your mailing list server anyway.
>
> SMTP won't be needed for the mailing list. People want mailing list
> servers that are integrated with their existing MTA systems, they don't want
> stand-alone systems. [...]

Right, that's why I was talking about the SMTP *client* part of AWS.
But of course, you decide how you speak with the customer's MTA.

> I am considering using AWS for the web interface portion, but then again
> you have the same integration problem. People want their web applications
> to run behind the web server *they* choose (or at least Apache) they don't
> want a stand-alone system. [...]

If you want to integrate with the customer's web server, I'm afraid
your best option is Java Servlets :(

>> The reason I wasn asking is not because I was interested in using your
>> library; only because I think it is nice in general to consolidate
>> small but related libraries into larger ones,
>
> I take exception to your belief that Basil is a "small" library:
[...]
> ada:          10823 (98.29%)
[...]

I didn't want to offend you but yes, this is small. Compare this with
(from memory):
gnade 1.6.1: 61 kSLOC
asis 2007: 91 kSLOC
GtkAda 2.12: 112 kSLOC
GCC 4.3: 630 kSLOC
the software I work on on my day job: 1 MSLOC

And that's counting only the Ada parts of these things. In the
packages I maintain for Debian, the average per package is around 93
kSLOC currently. Granted, GNAT, GtkAda and GPS do a lot to pull that
average up. I personally prefer to work on a few large packages rather
than many small ones.

Again I don't mean to offend you or downplay the amount of work,
dedication and passion you put in your library. On the contrary, I
think it is very professional. How many individual free software
developers systematically publish specifications and unit test suites
with their libraries? Basil is an impressive one-man, version 1.0
library.

While I stand by my opinion that grouping libraries in general is a
good thing, I also understand the reasons why you may choose
otherwise.

PS. I am overworked and I cannot package Basil for Debian, but I wish
someone else would step forward to do that. Any takers?

--
Ludovic Brenta.



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v  1.0
  2008-07-23 11:07         ` Ludovic Brenta
@ 2008-07-23 11:33           ` Georg Bauhaus
  2008-07-23 12:00           ` xavier grave
  2008-07-23 12:45           ` google1
  2 siblings, 0 replies; 29+ messages in thread
From: Georg Bauhaus @ 2008-07-23 11:33 UTC (permalink / raw)


Ludovic Brenta schrieb:

> If you want to integrate with the customer's web server, I'm afraid
> your best option is Java Servlets :(

Servlets with Ada can be done. An Ada programmer might need
to adapt his ideas of implementing things to the "hardware"
a little. Depending on the Ada->JVM compiler you use,
many Ada things will work, others won't work.
But if you have some well modularized piece of Ada code,
chances are they can be (made to) run on a JVM.  It will be
necessary to make a few changes, just like in the .NET (MGNAT)
case.


--
Georg Bauhaus
Y A Time Drain  http://www.9toX.de
   (some Ada -> Java byte code running in its backend)



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v  1.0
  2008-07-23 11:07         ` Ludovic Brenta
  2008-07-23 11:33           ` Georg Bauhaus
@ 2008-07-23 12:00           ` xavier grave
  2008-07-23 12:45           ` google1
  2 siblings, 0 replies; 29+ messages in thread
From: xavier grave @ 2008-07-23 12:00 UTC (permalink / raw)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ludovic Brenta a �crit :
> goog...@hafdconsulting.com wrote:
>> On Jul 22, 12:19 pm, Ludovic Brenta wrote:

> PS. I am overworked and I cannot package Basil for Debian, but I wish
> someone else would step forward to do that. Any takers?

I'll try to help on this once "coup de feu" (I don't know any english
equivalent of this, sorry) at lab is over.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkiHHW0ACgkQVIZi0A5BZF6S3ACgrLBwoD2s1eypFBG5OsdQpw3N
8EYAnjIBh2G74IUVqQ5Qj43bv9bLBeoU
=JtcE
-----END PGP SIGNATURE-----



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-23 11:07         ` Ludovic Brenta
  2008-07-23 11:33           ` Georg Bauhaus
  2008-07-23 12:00           ` xavier grave
@ 2008-07-23 12:45           ` google1
  2008-07-23 18:33             ` Ludovic Brenta
  2008-07-24 10:30             ` Alex R. Mosteo
  2 siblings, 2 replies; 29+ messages in thread
From: google1 @ 2008-07-23 12:45 UTC (permalink / raw)


On Jul 23, 6:07 am, Ludovic Brenta <ludo...@ludovic-brenta.org> wrote:
> Right, that's why I was talking about the SMTP *client* part of AWS.
> But of course, you decide how you speak with the customer's MTA.

I think you are confused about how mail systems typically work. The
only thing that typically needs to serve as an SMTP *client* or do
anything with SMTP at all is Mail Server (Mail Transfer Agent) the
only reason why a Mail User Agent would deal with SMTP is if it wanted
to support one of the newer methods of accessing its parent server
such
as SMTP TLS. Otherwise there are many other non-SMTP ways of accessing
a server, at least one of which is almost surely more appropriate.

> > I am considering using AWS for the web interface portion, but then again
> > you have the same integration problem. People want their web applications
> > to run behind the web server *they* choose (or at least Apache) they don't
> > want a stand-alone system. [...]
>
> If you want to integrate with the customer's web server, I'm afraid
> your best option is Java Servlets :(

. . .

Web servers provide many APIs, from CGI to loadable modules. As Java
Servlets are one option produced by a software company for its
proprietary language that is not Ada, no, I don't think that would
be the best option given my constraints.

> I didn't want to offend you but yes, this is small. Compare this with

Ludovic, not to offend *you* but I've not seen any evidence
on this thread that you don't want to offend me. It seems that
is all you've tried to do. Yes, a library that has been in
development for six months does not compare to gcc, nor other
projects that have been around for many years, some with
corporate backing. But considering the central thesis of your
argument is a belief that Basil doesn't have a right to exist
as a separate package, I think most would consider 10k SLOC
as being past the threshold where a piece of software can be
written off as trivial.

Anyway, I guess I've been away from Usenet for too long, and
forgotten how to put up with trolling. Thank you everyone
*else* for your warm reception.

I hope to have content-dispensation and few other things
in this project in a week or so. I also have some other
projects in mind for the next few months. I'm currently
planning a Unicode library and hope to have a spec written
for that soon.

--
Jordan Bettis



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-23 12:45           ` google1
@ 2008-07-23 18:33             ` Ludovic Brenta
  2008-07-24 10:30             ` Alex R. Mosteo
  1 sibling, 0 replies; 29+ messages in thread
From: Ludovic Brenta @ 2008-07-23 18:33 UTC (permalink / raw)


google1@hafdconsulting.com writes:
> Ludovic, not to offend *you* but I've not seen any evidence
> on this thread that you don't want to offend me. It seems that
> is all you've tried to do.

I'm sorry you feel that way.  Please accept my apologies.

> Yes, a library that has been in
> development for six months does not compare to gcc, nor other
> projects that have been around for many years, some with
> corporate backing. But considering the central thesis of your
> argument is a belief that Basil doesn't have a right to exist
> as a separate package, I think most would consider 10k SLOC
> as being past the threshold where a piece of software can be
> written off as trivial.

I do think a 10 kSLOC library has a right to exist as a package (and I
proved it in my last post by asking for someone to step forward as a
packager) and I know for a fact that 10 kSLOC is non-trivial (I've
written several such programs myself in the past and I'm proud of
them, as I'm sure you are rightfully proud of your work).  I only
suggested that a 10 kSLOC library might benefit from networking or
critical-mass effects when combined with, or distributed along, other
programs and libraries with which it cooperates by design (rather than
by accident).  This, not only in terms of functionality but also in
terms of user base and developers supporting it.

As Ada maintainer for Debian, I also tend to think in whole-system
terms (i.e. grandiose plans for large collections of packages that
work well together).  I think this explains why I may have come across
as looking down on your work, which I wasn't and am not.  Again,
please accept my apologies for that.

-- 
Ludovic Brenta.



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-23 12:45           ` google1
  2008-07-23 18:33             ` Ludovic Brenta
@ 2008-07-24 10:30             ` Alex R. Mosteo
  2008-07-24 16:53               ` Georg Bauhaus
  1 sibling, 1 reply; 29+ messages in thread
From: Alex R. Mosteo @ 2008-07-24 10:30 UTC (permalink / raw)


google1@hafdconsulting.com wrote:

> On Jul 23, 6:07 am, Ludovic Brenta <ludo...@ludovic-brenta.org> wrote:
>> Right, that's why I was talking about the SMTP *client* part of AWS.
>> But of course, you decide how you speak with the customer's MTA.
> 
> I think you are confused about how mail systems typically work. The
> only thing that typically needs to serve as an SMTP *client* or do
> anything with SMTP at all is Mail Server (Mail Transfer Agent) the
> only reason why a Mail User Agent would deal with SMTP is if it wanted
> to support one of the newer methods of accessing its parent server
> such
> as SMTP TLS. Otherwise there are many other non-SMTP ways of accessing
> a server, at least one of which is almost surely more appropriate.
> 
>> > I am considering using AWS for the web interface portion, but then again
>> > you have the same integration problem. People want their web applications
>> > to run behind the web server *they* choose (or at least Apache) they don't
>> > want a stand-alone system. [...]
>>
>> If you want to integrate with the customer's web server, I'm afraid
>> your best option is Java Servlets :(
> 
> . . .
> 
> Web servers provide many APIs, from CGI to loadable modules. As Java
> Servlets are one option produced by a software company for its
> proprietary language that is not Ada, no, I don't think that would
> be the best option given my constraints.
> 
>> I didn't want to offend you but yes, this is small. Compare this with
> 
> Ludovic, not to offend *you* but I've not seen any evidence
> on this thread that you don't want to offend me. It seems that
> is all you've tried to do. 

Now this is not my cake and probably I will pay for it, but since years Ludovic
has always been an extremely polite and insightful poster, and never a troll
(indeed, in comp.lang.ada there are no more than one or none trolls). In his
posts in this thread I don't detect any intention to be offensive. I think
it's all a miscomunication in the channel, a dissonance in the endpoints.

(snip)

> I hope to have content-dispensation and few other things
> in this project in a week or so. I also have some other
> projects in mind for the next few months. I'm currently
> planning a Unicode library and hope to have a spec written
> for that soon.

There's a very complete unicode library, as part of [1]. Admittedly, I find it
lacking just the final bits to make working with the most common combinations
(e.g. utf8) as easy as with plain Strings; now you need a little bit of glue
over it. Just mentioning, in case you weren't aware.

Cheers,

Alex.

[1] https://libre.adacore.com/xmlada/



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-24 10:30             ` Alex R. Mosteo
@ 2008-07-24 16:53               ` Georg Bauhaus
  2008-07-24 17:56                 ` Alex R. Mosteo
  2008-07-24 19:13                 ` Dmitry A. Kazakov
  0 siblings, 2 replies; 29+ messages in thread
From: Georg Bauhaus @ 2008-07-24 16:53 UTC (permalink / raw)


Alex R. Mosteo schrieb:

> There's a very complete unicode library, as part of [1].

> [1] https://libre.adacore.com/xmlada/

The Basil docs comment on this library and why it is not
being used.
And XML/Ada's is not a Unicode library. Just some character
set transformations involving ISO10646 and others.


--
Georg Bauhaus
Y A Time Drain  http://www.9toX.de



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-24 16:53               ` Georg Bauhaus
@ 2008-07-24 17:56                 ` Alex R. Mosteo
  2008-07-24 19:13                 ` Dmitry A. Kazakov
  1 sibling, 0 replies; 29+ messages in thread
From: Alex R. Mosteo @ 2008-07-24 17:56 UTC (permalink / raw)


Georg Bauhaus wrote:

> Alex R. Mosteo schrieb:
> 
>> There's a very complete unicode library, as part of [1].
> 
>> [1] https://libre.adacore.com/xmlada/
> 
> The Basil docs comment on this library and why it is not
> being used.
> And XML/Ada's is not a Unicode library. Just some character
> set transformations involving ISO10646 and others.

I see, it's only 14k sloc ;D



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-24 16:53               ` Georg Bauhaus
  2008-07-24 17:56                 ` Alex R. Mosteo
@ 2008-07-24 19:13                 ` Dmitry A. Kazakov
  2008-07-25 11:38                   ` Alex R. Mosteo
  1 sibling, 1 reply; 29+ messages in thread
From: Dmitry A. Kazakov @ 2008-07-24 19:13 UTC (permalink / raw)


On Thu, 24 Jul 2008 18:53:07 +0200, Georg Bauhaus wrote:

> And XML/Ada's is not a Unicode library. Just some character
> set transformations involving ISO10646 and others.

Strings edit provides UTF-8 support: sets, maps (similar to
Ada.Strings.Maps), categorization, case conversions, wildcard matching etc

   http://www.dmitry-kazakov.de/ada/strings_edit.htm

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-24 19:13                 ` Dmitry A. Kazakov
@ 2008-07-25 11:38                   ` Alex R. Mosteo
  2008-07-25 12:46                     ` Dmitry A. Kazakov
  0 siblings, 1 reply; 29+ messages in thread
From: Alex R. Mosteo @ 2008-07-25 11:38 UTC (permalink / raw)


Dmitry A. Kazakov wrote:

> On Thu, 24 Jul 2008 18:53:07 +0200, Georg Bauhaus wrote:
> 
>> And XML/Ada's is not a Unicode library. Just some character
>> set transformations involving ISO10646 and others.
> 
> Strings edit provides UTF-8 support: sets, maps (similar to
> Ada.Strings.Maps), categorization, case conversions, wildcard matching etc
> 
>    http://www.dmitry-kazakov.de/ada/strings_edit.htm

Looks very interesting, thanks.

Incidentally, are you using some software to generate these webpages from
source code?



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-22  8:00 ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0 google1
  2008-07-22 11:01 ` Ludovic Brenta
  2008-07-22 12:26 ` Thomas Locke
@ 2008-07-25 11:47 ` Alex R. Mosteo
  2008-07-26  3:12   ` Peter C. Chapin
                     ` (2 more replies)
  2 siblings, 3 replies; 29+ messages in thread
From: Alex R. Mosteo @ 2008-07-25 11:47 UTC (permalink / raw)


google1@hafdconsulting.com wrote:

> Hi. I'm working on a project to eventually produce a mailing list
> server in Ada. I've completed the first major 'deliverable' for
> the project, an email and MIME library in Ada 2005.
> 
> The project page is located at:
> <http://hafdconsulting.com/libre/basil>

Unrelated to the library, but I wondered when looking at the specs: How do you
format these large comment paragraphs?

I don't think GPS has support to reformat paragraphs of comments, or I have
missed it till now. I'm mainly concerned with maintenance, since writing it
nice the first time is easy. The problem comes with updates. Are you using
some other editor? Some python script? Some other tool? Doing it by hand?

Thanks!



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-25 11:38                   ` Alex R. Mosteo
@ 2008-07-25 12:46                     ` Dmitry A. Kazakov
  2008-07-28  7:52                       ` Alex R. Mosteo
  0 siblings, 1 reply; 29+ messages in thread
From: Dmitry A. Kazakov @ 2008-07-25 12:46 UTC (permalink / raw)


On Fri, 25 Jul 2008 13:38:26 +0200, Alex R. Mosteo wrote:

> Dmitry A. Kazakov wrote:
> 
> Incidentally, are you using some software to generate these webpages from
> source code?

Unfortunately no. I am lazy to write or else modify an existing one. But
for all, I miss a concept of how this could be done. I mean tearing the
comments from the sources in not enough to generate a readable text.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-25 11:47 ` Alex R. Mosteo
@ 2008-07-26  3:12   ` Peter C. Chapin
  2008-07-26 12:33     ` Stephen Leake
  2008-07-26  8:58   ` Pascal Obry
  2008-07-26 17:43   ` Dmitry A. Kazakov
  2 siblings, 1 reply; 29+ messages in thread
From: Peter C. Chapin @ 2008-07-26  3:12 UTC (permalink / raw)


Alex R. Mosteo wrote:

> I don't think GPS has support to reformat paragraphs of comments, or I have
> missed it till now. I'm mainly concerned with maintenance, since writing it
> nice the first time is easy. The problem comes with updates. Are you using
> some other editor? Some python script? Some other tool? Doing it by hand?

I have nothing to do with Basil, but I will mention that Emacs knows how 
to reformat paragraphs of comments (in Ada code) out of the box. In 
fact, this is one reason why I still tend to use Emacs... I'm too lazy 
to write the necessary macros, etc, to make this work in other editors. 
I don't understand why this feature isn't standard in all modern IDEs.

Peter



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-25 11:47 ` Alex R. Mosteo
  2008-07-26  3:12   ` Peter C. Chapin
@ 2008-07-26  8:58   ` Pascal Obry
  2008-07-26 17:33     ` Simon Wright
  2008-07-28  7:56     ` Alex R. Mosteo
  2008-07-26 17:43   ` Dmitry A. Kazakov
  2 siblings, 2 replies; 29+ messages in thread
From: Pascal Obry @ 2008-07-26  8:58 UTC (permalink / raw)
  To: Alex R. Mosteo

Alex R. Mosteo a �crit :
> I don't think GPS has support to reformat paragraphs of comments, or I have
> missed it till now. 

You have missed it till now :)

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|              http://www.obry.net
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-26  3:12   ` Peter C. Chapin
@ 2008-07-26 12:33     ` Stephen Leake
  0 siblings, 0 replies; 29+ messages in thread
From: Stephen Leake @ 2008-07-26 12:33 UTC (permalink / raw)


"Peter C. Chapin" <pcc482719@gmail.com> writes:

> Alex R. Mosteo wrote:
>
>> I don't think GPS has support to reformat paragraphs of comments, or I have
>> missed it till now. I'm mainly concerned with maintenance, since writing it
>> nice the first time is easy. The problem comes with updates. Are you using
>> some other editor? Some python script? Some other tool? Doing it by hand?
>
> I have nothing to do with Basil, but I will mention that Emacs knows
> how to reformat paragraphs of comments (in Ada code) 

And many other languages; the basic 'paragraph fill' mechanism
understands about comment syntax.

> out of the box. In fact, this is one reason why I still tend to use
> Emacs... I'm too lazy to write the necessary macros, etc, to make
> this work in other editors. I don't understand why this feature
> isn't standard in all modern IDEs.

Does anyone know if Eclipse has a similar feature? I keep bumping into
references to how wizzy Eclipse is; I may have to switch to it sometime.

-- 
-- Stephe



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-26  8:58   ` Pascal Obry
@ 2008-07-26 17:33     ` Simon Wright
  2008-07-28  7:56     ` Alex R. Mosteo
  1 sibling, 0 replies; 29+ messages in thread
From: Simon Wright @ 2008-07-26 17:33 UTC (permalink / raw)


Pascal Obry <pascal@obry.net> writes:

> Alex R. Mosteo a �crit :
>> I don't think GPS has support to reformat paragraphs of comments, or I have
>> missed it till now. 
>
> You have missed it till now :)

GPS 4.2.1 of 20080115 has this on Edit>Refill (or C-=). I don't think
it's quite up to Emacs ada-mode -- try it outside a comment ahd it
merrily fills the Ada, whereas Emacs just beeps & says "if: not inside
comment" which is weird but comprehensible.

(This is ada-mode 5.03a, the last release made by AdaCore. Must move to
the current ada-mode!
http://stephe-leake.org/emacs/ada-mode/emacs-ada-mode.html)



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-25 11:47 ` Alex R. Mosteo
  2008-07-26  3:12   ` Peter C. Chapin
  2008-07-26  8:58   ` Pascal Obry
@ 2008-07-26 17:43   ` Dmitry A. Kazakov
  2 siblings, 0 replies; 29+ messages in thread
From: Dmitry A. Kazakov @ 2008-07-26 17:43 UTC (permalink / raw)


On Fri, 25 Jul 2008 13:47:56 +0200, Alex R. Mosteo wrote:

> Unrelated to the library, but I wondered when looking at the specs: How do you
> format these large comment paragraphs?

I am using my clipboard manager for that. It works with all editors under
Windows. With GPS it does too, though not perfectly. I think GPS (or maybe
GTK+) has some bug in the clipboard protocol, so that it disturbs the
manager time to time. But not very frequently.

The idea is that you cut the text, the manager formats it, and then you
paste it back, so it is just ctrl-C, ctrl-V. The manager understands Ada
comments and can handle indentation:

   http://www.dmitry-kazakov.de/clipman/clipman.htm

(I was too lazy to port it to linux though)

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-25 12:46                     ` Dmitry A. Kazakov
@ 2008-07-28  7:52                       ` Alex R. Mosteo
  2008-07-28  8:18                         ` Dmitry A. Kazakov
  0 siblings, 1 reply; 29+ messages in thread
From: Alex R. Mosteo @ 2008-07-28  7:52 UTC (permalink / raw)


Dmitry A. Kazakov wrote:

> On Fri, 25 Jul 2008 13:38:26 +0200, Alex R. Mosteo wrote:
> 
>> Dmitry A. Kazakov wrote:
>> 
>> Incidentally, are you using some software to generate these webpages from
>> source code?
> 
> Unfortunately no. I am lazy to write or else modify an existing one. But
> for all, I miss a concept of how this could be done. I mean tearing the
> comments from the sources in not enough to generate a readable text.

I guess it can be done if you start commenting with this purpose in mind. Many
libraries' docs simply are Doxygen processed sources. Certainly the results
are in a wide range of polish.

Yours look really neat, so I wondered if you were using AdaBrowse or some of
the other options out there for Ada.



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-26  8:58   ` Pascal Obry
  2008-07-26 17:33     ` Simon Wright
@ 2008-07-28  7:56     ` Alex R. Mosteo
  1 sibling, 0 replies; 29+ messages in thread
From: Alex R. Mosteo @ 2008-07-28  7:56 UTC (permalink / raw)


Pascal Obry wrote:

> Alex R. Mosteo a écrit :
>> I don't think GPS has support to reformat paragraphs of comments, or I have
>> missed it till now.
> 
> You have missed it till now :)

Awww man, and you still keep me in the dark :)

(Found it :P)



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

* Re: ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0
  2008-07-28  7:52                       ` Alex R. Mosteo
@ 2008-07-28  8:18                         ` Dmitry A. Kazakov
  0 siblings, 0 replies; 29+ messages in thread
From: Dmitry A. Kazakov @ 2008-07-28  8:18 UTC (permalink / raw)


On Mon, 28 Jul 2008 09:52:48 +0200, Alex R. Mosteo wrote:

> Dmitry A. Kazakov wrote:
> 
>> On Fri, 25 Jul 2008 13:38:26 +0200, Alex R. Mosteo wrote:
>> 
>>> Dmitry A. Kazakov wrote:
>>> 
>>> Incidentally, are you using some software to generate these webpages from
>>> source code?
>> 
>> Unfortunately no. I am lazy to write or else modify an existing one. But
>> for all, I miss a concept of how this could be done. I mean tearing the
>> comments from the sources in not enough to generate a readable text.
> 
> I guess it can be done if you start commenting with this purpose in mind. Many
> libraries' docs simply are Doxygen processed sources. Certainly the results
> are in a wide range of polish.

Right, and after that you have a dead end, because when sources get
modified you need to start from the beginning.

The only way, I can think of, is an integration into a source code
management system which would keep track of the changes in the sources and
in the docs, being aware of the dependencies between them. Unfortunately
the systems I saw and deployed were close to unusable even for managing
sources... (:-))

> Yours look really neat,

Thanks

> so I wondered if you were using AdaBrowse or some of
> the other options out there for Ada.

Yes, GNAT Pro has an integrated documentation generation.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



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

end of thread, other threads:[~2008-07-28  8:18 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-07-22  8:00 ANN: Basil -- Internet Message (email) and MIME library for Ada v 1.0 google1
2008-07-22 11:01 ` Ludovic Brenta
2008-07-22 12:51   ` Georg Bauhaus
2008-07-22 16:35   ` google1
2008-07-22 17:19     ` Ludovic Brenta
2008-07-22 19:43       ` google1
2008-07-23 11:07         ` Ludovic Brenta
2008-07-23 11:33           ` Georg Bauhaus
2008-07-23 12:00           ` xavier grave
2008-07-23 12:45           ` google1
2008-07-23 18:33             ` Ludovic Brenta
2008-07-24 10:30             ` Alex R. Mosteo
2008-07-24 16:53               ` Georg Bauhaus
2008-07-24 17:56                 ` Alex R. Mosteo
2008-07-24 19:13                 ` Dmitry A. Kazakov
2008-07-25 11:38                   ` Alex R. Mosteo
2008-07-25 12:46                     ` Dmitry A. Kazakov
2008-07-28  7:52                       ` Alex R. Mosteo
2008-07-28  8:18                         ` Dmitry A. Kazakov
2008-07-22 12:26 ` Thomas Locke
2008-07-22 15:31   ` Colin Paul Gloster
2008-07-22 23:30     ` Randy Brukardt
2008-07-25 11:47 ` Alex R. Mosteo
2008-07-26  3:12   ` Peter C. Chapin
2008-07-26 12:33     ` Stephen Leake
2008-07-26  8:58   ` Pascal Obry
2008-07-26 17:33     ` Simon Wright
2008-07-28  7:56     ` Alex R. Mosteo
2008-07-26 17:43   ` Dmitry A. Kazakov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox