Monday 20 August, 2007
#The LGPL and Java - ... the LGPL works as intended with all known programming languages, including Java ...
Describes exactly why Mango is released under the LGPL.
[Add a comment]
Friday 17 August, 2007
#
Uploaded a new Mango release.
It adds a couple of new iterators. The Javadocs are up-to-date, but the web pages are lagging a little.
[Add a comment]
Wednesday 15 August, 2007
#
He puts his dick in my mouth. It’s so big that it barely fits my mouth. I begin to suck him. erotik parade ))) efukt she
erotik [e] [w], 5th Jan 2009
[Add a comment]
Friday 16 March, 2007
#
I'm in the middle of writing a conference presentation which talks about some of what Mango does, I'm struggling for an example, and bam! There it is, what I need is an iterator that traverses a list in reverse order. So I wrote a test, wrote an iterator, then wrote it again in under five minutes. It's in subversion now.
You can pull the Mango code from
svn co svn://jezuk.dnsalias.net/jezuk/mango/trunk
hello from google...
google [e] [w], 19th Mar 2007
[Add a comment]
Friday 13 October, 2006
#
My recent development rush has wound down so I've packaged a new Mango release. Online Javadoc is up-to-date. Other documentation currently lacks some of the new things.
[Add a comment]
Friday 29 September, 2006
#Updated SelectingIterator to support the
remove method.Hi i needed to know something for a class project if eny one knows who invented the steam locomotive pleas contact me.
kim [e], 24th Mar 2008
[Add a comment]
Thursday 28 September, 2006
#Added
int findPositionIf(Collection coll, Predicate pred)
[Add a comment]
Monday 25 September, 2006
#
Added Partition, an algorithm for splitting a collection into two. Iterates over the collection, applying a predicate to each element. Objects matching the predicate are removed and added to a results collection.
[Add a comment]
Friday 22 September, 2006
#
The changes keep coming. Yesterday saw set intersection, and today I've just committed symmetric difference. My initial feeling was to call it disjunction, but that's clearly the latent logician in me talking.
[Add a comment]
Thursday 21 September, 2006
#
Kicked out a new Mango release. Online Javadoc is up-to-date. Other documentation currently lacks the new things.
[Add a comment]
#
Mango has suddenly become work relevant again. In the last couple of days I've committed a new iterator that works over Strings, and a new algorithm for stripping duplicates from a sorted collection.
I expect more to follow, and will drop a new release soon.
Added an algorithm to find the intersection of two collections.
jez, 21st Sep 2006
Added a variation on find which returns the index of the object in the collection
jez, 23rd Sep 2006
[Add a comment]
Wednesday 08 September, 2004
#
* A
NullIterator iterates over nothing. That is, hasNext * always returns
false.*/
static public java.util.Iterator NullIterator();In CVS (mail me for access) now.
[Add a comment]
Friday 28 May, 2004
#
Cool! Will the next version have a MincingIterator ? :-)
Seriously(ish) - any thought about integrating with Jakarta Commons Collections ? The two libraries share some common concepts and it would be nice to be able to use them together...
kal, 1st Jun 2004
It's worth another look I suppose. I did track the commons-dev mailing list for some time a while back, but there seemed to be no movement on Collections at the time. (It was all Bean this and Jelly that.)Commons Collections and Mango have similar iterators and unary predicates, so perhaps the algorithms part would fit with them.
I'll have another go at their mailing list perhaps.
jez, 2nd Jun 2004
Well, I'm a bit late to the conversation, but I also am a bit curious about the Commons Functor work. Do they make sense to you??
I'm not at all clear if they've become less verbose, one of the main reasons for Functors etc.
Hope all is well,
Owen
backspaces, 6th Sep 2006
[Add a comment]
Wednesday 19 May, 2004
#
To: Jez Subject: Mango Status? Greetings: I came across your website some time ago. I am the author of a similar libary, jga, found at http://jga.sf.net/ I'll be speaking at the next JavaOne on applying functors to desktop programming, and one of my slides lists the available functor-based libraries that I have been able to find. I thought I'd touch base with you to find out what the status of Mango is at this point. Is this still an on-going project? David HallI replied
To: David Subject: Re: Mango Status? Hello David, > > I came across your website some time ago. I am the author of a > similar libary, jga, found at > > http://jga.sf.net/ > We certainly seem to have been be working along similar lines. I knew somebody had to be somewhere :) > I'll be speaking at the next JavaOne on applying functors to desktop > programming, and one of my slides lists the available functor-based > libraries that I have been able to find. I thought I'd touch base with > you to find out what the status of Mango is at this point. > > Is this still an on-going project? > It's still on-going in as much as I haven't stopped working on it. I just haven't been working on it, if you see what I mean. The library started as a result of some other work I was doing at the time, and I've added to it in dribs and drabs over time. Checking now, it has been some time. Over the last year or so, I've done much less work in Java and rather more in C++, so the motivation to work on it hasn't been there. I'll no doubt come back to it at some point. Simply receiving this mail may prod me a bit. Best, Jez
[Add a comment]
Friday 18 July, 2003
#LGPL may be viral for Java? -
The FSF's Executive Director, Brad Kuhn adds "LGPL's S. 6 allows you to make new works that link with the LGPL'ed code, and license them any way you see fit. Only the LGPL'ed code itself must remain Free. Such 'client code' can even be proprietary; it need not be LGPL'ed."To clarify the Mango position - I licensed it under the LGPL because I want the library to remain free while allowing people to do whatever the hell they want with it. Basically, what I want to maintain is that Mango code stays in the Mango jar file, and isn't bundled into some other jar instead. So go ahead, use the code in whatever application you like, under whatever license you like.
[Add a comment]
Monday 31 March, 2003
#Just realised the example below is tripe. The main point still stands though :)
[Add a comment]
Friday 28 March, 2003
#Added transform to the algorithms page.
[Add a comment]
#Heh. Months of nothing, I cut a release in the middle of the night, then immediatately add new code. What I am doing? Anyway, CVS (mail me for access) now contains a
public static java.util.Iterator TransformIterator(java.util.Iterator iterator, UnaryFunction transform)
A TransformIterator applies a UnaryFunction to each element in the sequence, returning the function result at each step.
Say you have a list of some complex type, and you want to find on by name. You could (caution! trivial example follows)
Iterator i = list.iterator();
while(i.hasNext()) {
MyComplexObject mco = (MyComplexObject)i.next();
if(mco.GetName().equals(theSearchName))
.. do something
}
// did I find it or not?
// might have to check a state variable here to work it out
// anyway - do whatever the right thing is here
or you could
MyComplexObject mco = (MyComplexObject)Mango.find(
Mango.TransformIterator(list.iterator(),
Adapt.ArgumentMethod("GetName"),
theSearchName);
if(mco != null)
... found!
else
... not
Of course, you could also use Mango.findIf with a Predicate if that looks nicer to you. Or any one of a dozen other ways. I grant that (MyComplexObject)find(Mango.TransformIterator(list.iterator(), Adapt.ArgumentMethod("GetName"), theSearchName); looks like a mouthful, and doesn't appear especially Javay. However, the real power of this stuff isn't in contrived little examples like this, it's in the ability to build Predicate and UnaryFunction stacks are runtime. Lets say you want to search your MyComplexObject space on several variables. You could do it the conventional way, with lots of loops and if ladders and what not. Or you build a single Predicate object at runtime which combines all the tests together using Mango.And, Mango.Or and friends. Then apply Mango.findIf or whatever, and it all comes down to almost no code at all. And then your boss wants a new search term. Predicates make that easy as pie.[Add a comment]
#Updated javadocs now uploaded. The Iterators documentation is now also up to date.
This development log is now also available as an RSS feed.
[Add a comment]
#New source and binary releases are now available. Documentation updates to follow, in dribs and drabs probably, in due course.
[Add a comment]