I added a new way to build the union of a huge list of lenses. In stead of saying that the union of h::t is the union of h with the union of t, I split the list in two lists of equal length and take the union of this two sublist. The 888 line-lens of uniprot.boom used to be 505 MB big and use now "only" 88 MB I also think that the usage of the lens will be faster since it's now a binary tree instead of a list, wich means 10 tests in the worst case instead of 888 !
I added a new way to build the union of a huge list of lenses.
In stead of saying that the union of h::t is the union of h with the union of t, I split the list in two lists of equal length and take the union of this two sublist.
The 888 line-lens of uniprot.boom used to be 505 MB big and use now "only" 88 MB
I also think that the usage of the lens will be faster since it's now a binary tree instead of a list, wich means 10 tests in the worst case instead of 888 !

the syntax is  {l1 | l2 | l3 | l4}. As usual, if you have a better idea, feel free to tell me :-)

I'll commit the uniprot.boom file with the modification later (working on it)



L2G/boomerang-lang