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