According to my rough count (and running setup with a -j 1),
compiling `math' takes 40% of the whole tree compilation.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life
A few minutes ago, Matthew Flatt wrote:
At Sun, 24 Feb 2013 17:16:13 -0500, Eli Barzilay wrote:
Two hours ago, Eli Barzilay wrote:
I think that this should be reverted, and instead make the older
docs more available: I'll make another column in the all-versions
page (main page
it.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
On Sunday, Eli Barzilay wrote:
According to my rough count (and running setup with a -j 1),
compiling `math' takes 40% of the whole tree compilation.
I'm surprised that nobody finds this disturbing. Maybe it was the
lack of bangs in the subject.
--
((lambda (x) (x x)) (lambda (x
Yesterday, Asumu Takikawa wrote:
On 2013-02-26 09:53:11 -0500, Eli Barzilay wrote:
I have finally implemented a script that hacks the on-line doc
pages. Currently, it does the following (and you can see the
changes on the web now):
Maybe I'm missing something, but the changes have been
Just now, Eli Barzilay wrote:
* The layout should have the main column centered. (I thought that
it was fine initially if the left column is part of the contents.)
BTW, resolving this should happen at the CSS level, perhaps just
reorganizing them should make it work. But if not, then I
Two hours ago, Matthew Flatt wrote:
At Wed, 27 Feb 2013 11:36:54 -0500, Eli Barzilay wrote:
* The layout should have the main column centered. (I thought that it
was fine initially if the left column is part of the contents.)
That column alignment looks good, now. Also, I like
Two hours ago, Eli Barzilay wrote:
Two hours ago, Matthew Flatt wrote:
The content column is wider than in the normal documentation
display. That makes line-spanning paragraphs a little less nice
to read, and it makes right-margin notes more likely to fall out
of the display area
=docs.racket-lang.org/* /
/Annotation
/Annotations
---
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life
the namespace is probably the only thing that is needed...
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
Four hours ago, mikel evins wrote:
On Mar 6, 2013, at 11:42 AM, Eli Barzilay e...@barzilay.org wrote:
Aha -- in that case, it seems that your image-based workflow is
not much different from working with just the sources *and* the
(byte-) compiled files that go with them, right
, but it happens to be a very popular name so
there are tons of results before it. (Try searching for stxparam to
see that it works.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life
)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
A few minutes ago, Eli Barzilay wrote:
Here's why I think it might be useless:
For just `takef-right', it's possible to do something smart that
scans the list in order, keeping a pointer to the beginning of
the current good block. This avoids a double scan
) lists.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
An hour ago, Robby Findler wrote:
#lang racket2 ?
That is much later than I hoped.
(And when it comes, I certainly hope it won't be `racket2'.)
On Sat, Mar 9, 2013 at 3:09 PM, Eli Barzilay e...@barzilay.org wrote:
It's no committed pushed. With the bad argument order.
Just
changing the require for a whole file
wouldn't be useful in general.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org
can use only the sane order.
* And another thing that can be done to reduce the name clutter is to
have only the plain names, but make them accept either an index or a
predicate.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org
modification times
(intentionally), so a fresh clone should have all of the dates be the
same. If you update the tree (eg, if you checkout a different
branch), then files that were modified get a new date -- as usual.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay
clone for an automated
build machine.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
be simplified into some new simplified `require' that is
easier for kids -- like (use image).
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http
lighter, but I think that such a change will make it
significantly more usable in that it's much closer to just dump your
bunch of files on the web.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life
suggesting that that such a patch is
fine if it's possible to implement without me realizing on the way
some reasons against it.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life
50 minutes ago, Jay McCarthy wrote:
On Mon, Apr 8, 2013 at 2:18 PM, Eli Barzilay e...@barzilay.org wrote:
It all starts at how someone is expected to approach developing a
package, regardless of how this is defined in the current
system. A quick way to get to the core of the problem
About two weeks ago, Asumu Takikawa wrote:
Late reply, but better than never.
On 2013-03-10 16:20:14 -0400, Eli Barzilay wrote:
Assuming this, here's a suggestion that I made in the past for
resolving this:
* Make the existing `take', `drop', `split-at' accept their arguments
++---
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
messages that describe the arity of
procedure values. I don't see any reason to close this stuff off,
when it's the one useful, non-opaque aspect of procedure values.
Carl Eastlund
On Thu, Apr 11, 2013 at 11:13 AM, Eli Barzilay e...@barzilay.org wrote:
Is there a real need to make
it possible to always use a procedure where an arity is
expected.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket
)
etc
while keeping the current arguments as a compatibility feature.
Another possibility is adding a `#:from-end' keyword for the
`*-right' variants (and keep the existing ones for compatibility).
50 minutes ago, Eli Barzilay wrote:
About two weeks ago, Asumu Takikawa wrote:
Late
An hour ago, Asumu Takikawa wrote:
On 2013-04-11 12:05:59 -0400, Eli Barzilay wrote:
Remove the `*f' functions from the interface, and change the
non-`*f' functions to accept keywords as follows:
(take #:num N L)
(take #:while P L)
(take #:until P L)
I like
50 minutes ago, Robby Findler wrote:
Did you consider adding a test case?
I have one, but did not commit it since I waited for a build to
finish last night.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org
to the Racket package repository.
It might be good to include some very quick instructions on how to
install it.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket
)
Maybe add a misc item with an enumeration of these things? (Just a
word on each so there's a hook for looking in the docs for the new
feature.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life
you have an actual use that would *break*? That is, something like
(match x ... [else else])
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list
()
(define p (make-promise/thread #f))
(pset! p (make-running-thread (thread (λ() ...same...
p))
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life
A few minutes ago, Vincent St-Amour wrote:
At Fri, 3 May 2013 11:56:02 -0400, Eli Barzilay wrote:
(define (delay/thread thunk)
(let ()
(define p (make-promise/thread #f))
(pset! p (make-running-thread (thread (λ() ...same...
p))
I think
a much more relaxed policy about
breaking compatibility in cases like this: so far there was no real
code found that uses the feature, but there is one instance of code
that would get fixed by the change...]
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay
JFYI, I've made the svn server be mostly read-only.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
the new repos.
I think that this offers the best in terms of being flexible as needed
while work is in progress, and separating the changes that people need
to adjust too which should make the whole process more comfortable.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay
for all of the packages. I think
that it might makes sense to keep some meta repository for people
who want a convenient checkout of all packages -- but if you don't
like submodules, you just don't use it.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay
-repo-split revolution, nothing is
lost, since the result is still a better build + distribution
process.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket
you won't worry about it
beind left somewhere, and at a point where it's fine to installed as a
kind of a shared runtime thing for someone who wants to distribute
racket-based applications.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http
9 hours ago, Matthew Flatt wrote:
At Wed, 22 May 2013 14:50:41 -0400, Eli Barzilay wrote:
That's true, but the downside of changing the structure and having
files and directories move post structure change will completely
destroy the relevant edit history of the files, since
)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
A few minutes ago, Carl Eastlund wrote:
On Thu, May 23, 2013 at 5:49 AM, Eli Barzilay e...@barzilay.org wrote:
9 hours ago, Carl Eastlund wrote:
I was going to comment on the same thing. While a naive use
of git filter-branch might not retain the history, it should
Just now, Carl Eastlund wrote:
On Thu, May 23, 2013 at 6:57 AM, Eli Barzilay e...@barzilay.org wrote:
A few minutes ago, Carl Eastlund wrote:
It doesn't seem wrong to me. It's an accurate representation
of the history of the project, which is exactly what git
that it will guarantee losing history.
(And I'll reply to Matthew's suggested tool next.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket
8 hours ago, Matthew Flatt wrote:
At Thu, 23 May 2013 07:09:17 -0400, Eli Barzilay wrote:
Relevant history is vague.
The history I want corresponds to `git log --follow' on each of the
files that end up in a repository.
(In this context this is clear; the problem in Carl's post
for example, if realm must be
distributed with its sources, it can just specify that and avoid
the stripping that other packages would go through.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life
Four hours ago, Matthew Flatt wrote:
At Fri, 24 May 2013 03:26:45 -0400, Eli Barzilay wrote:
If that can be done reliabely, then of course it makes it possible to
do the split reliabley after the first restructure.
Great! Let's do that, because I remain convinced that it's going
On Friday, Matthew Flatt wrote:
At Fri, 24 May 2013 12:44:35 -0400, Eli Barzilay wrote:
* The script should also take care to deal with files that got
removed in the past.
Ditto.
I don't believe that it's *not* doing this, so I did the
double-check in the form of a test
/signature/lang/reader.ss
C066 collects/frtime/reactive/lang/reader.ss
collects/racket/unit/lang/reader.ss
09bed0d Kevin Tew (1 year, 3 months ago) Initial Distributed Places commit
C100 collects/combinator-parser/info.rkt
collects/racket/place/distributed/info.rkt
e788903 Eli Barzilay (1
havine 3 repos for N packages sound like a
very unfun thing to deal with.) But I do want the ability to have
these partial-contents packages built for distribution.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org
on your own... (Or do so now and save some
splitting work.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
contributions to the code you do/might make
are a kind of a suggestion), so it's better to split them; and also
there is no sharing of code + maintenance (which is why this point
doesn't apply to core stuff).
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay
...
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
that will be one form of discouragement,
but there will also be problems that are harder to deal with.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list
) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
into the package system.
40 minutes ago, Laurent wrote:
Ah, that's cool. Looking forward to it!
And the in-url thing would be useful indeed for gists for example.
Laurent
On Thu, May 30, 2013 at 8:32 PM, Eli Barzilay e...@barzilay.org wrote:
Yes, I really want to try and get to look
packages, I
think.
FWIW, I'd view this (avoid fine slicing) as a possible way to avoid
growing hacks, but I really like the idea of smaller packages and the
benefits it comes with.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org
Yesterday, Laurent wrote:
On Sun, Jun 2, 2013 at 1:47 PM, Eli Barzilay e...@barzilay.org wrote:
To clarify, because of reasons that I won't go into on the list,
the actual chances of me getting this implemented (and of such a
change being accepted) are pretty much in the area
be nicer with an extra `member` argument than
with `memf`.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
50 minutes ago, Matthew Flatt wrote:
At Mon, 3 Jun 2013 08:27:19 -0400, Eli Barzilay wrote:
A very cheap way to do this is to use these sub-package
specifications only for creating packages for distribution. With
the obvious resulting package file names, this means
(I completely agree with you, so I'll take it off-line.)
30 minutes ago, Laurent wrote:
On Mon, Jun 3, 2013 at 2:44 PM, Eli Barzilay e...@barzilay.org wrote:
Yesterday, Laurent wrote:
On Sun, Jun 2, 2013 at 1:47 PM, Eli Barzilay e...@barzilay.org wrote:
To clarify
)
+(regexp-match #rx^y[01: ]* x (exn-message x
+ (λ () (raise-read-eof-error
+x y 1 1 1 1)))
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life
Yesterday, Matthew Flatt wrote:
At Mon, 3 Jun 2013 10:36:51 -0400, Eli Barzilay wrote:
(BTW, a possible source of confusion: I'm assuming that
distribution must be done via archives and not via repository
specs, since there should be some way to put the compiled files in
there.
I don't
have a repository without a directory to hold it.
So I view an `in-url' thing is the way for this super-cheap code
distribution.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life
the potential to bad rename detection damages.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
Yesterday, Carl Eastlund wrote:
On Tue, Jun 18, 2013 at 2:02 PM, Eli Barzilay e...@barzilay.org wrote:
20 minutes ago, Carl Eastlund wrote:
[...]
git rebase -s recursive -X rename-threshold=50% mflatt/pkg2
From a brief reading, I think that you're much better off
))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
, the more difficult it will be to fix it
later.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
30 minutes ago, Matthew Flatt wrote:
At Wed, 19 Jun 2013 15:54:00 -0400, Eli Barzilay wrote:
Four hours ago, mfl...@racket-lang.org wrote:
D collects/2htdp/image.rkt
D collects/algol60/info.rkt
D collects/browser/info.rkt
D collects/compiler/embed-unit.rkt
D collects
more useful
(IMO). Also, `group' sounds way too generic for something as specific
as what it does.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers
A few minutes ago, Sam Tobin-Hochstadt wrote:
On Mon, Jun 24, 2013 at 3:52 AM, Eli Barzilay e...@barzilay.org wrote:
On Friday, Sam Tobin-Hochstadt wrote:
# `unstable/list`
- `remf`, `list-update` `list-set` `map/values`: move to
`racket/list`
- `group-by`: rename to `group`, add
can act like /lib things.
Can you explain this more? I don't see the connection.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http
If this seems like a good idea to people, I'm happy to go ahead and
start doing the work.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http
size?
I think that errortrace has been one of the biggest offenders in terms
of bad bugs of many varieties -- and moving it out won't help. (And
if I were doing a game on a phone I'd worry about any of the above
much more, btw.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli
Two hours ago, Matthew Flatt wrote:
At Wed, 26 Jun 2013 01:04:13 -0400, Eli Barzilay wrote:
Furthermore, config.rktd can provide a list of additional
files/directories to search. This allows the main links.rktd
and pkgs to act like /usr/lib things, while additional
directories can act
.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
to list built stuff, it should leave
you in a clean state with no pre-built stuff. It will not delete
new files that are not ignored, so if there are new source files they
will be kept.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org
Yesterday, Matthew Flatt wrote:
[...]
(Sidenote: it would be nice if `--fix-pkg-deps' or something similar
could also report redundant dependencies.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze
.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
for the file -- I
view such grepping as indicators of organizational failures that
should not be needed even after the repo is split, and commits like
this make things worse in this regard.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http
A few minutes ago, Matthew Flatt wrote:
At Fri, 5 Jul 2013 18:55:32 -0400, Eli Barzilay wrote:
Yesterday, Matthew Flatt wrote:
At Thu, 4 Jul 2013 12:52:10 -0400, Sam Tobin-Hochstadt wrote:
2. It's possible to get lots of undefined tags in the documentation
builds. Should
be changed/re-written
to follow http://url.spec.whatwg.org/ but that's a longer-term
project.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http
their tests in the `main`
submodule, and thus are *not* executed by `raco test`. If the plan is
for everything to run with `raco test`, I'll fix these tests. But
what is the plan?
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http
Yesterday, Sam Tobin-Hochstadt wrote:
On Fri, Jul 5, 2013 at 6:50 PM, e...@racket-lang.org wrote:
f90fe4c Eli Barzilay e...@racket-lang.org 2013-07-05 18:08
:
| Get rid of the `#:function' keyword.
|
| These problems are always dealt with via an internal function instead
then it clearly
conflicts with another package with the same name.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
, and if there is no
`test' module. This avoids the need to abuse a `test' submodule as
some semi-drdr-flag-thing, since files in some tests path shouldn't
be required to have a `test' submodule.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org
a package that has this hacked version of the file. I'd be
mostly living in my own world whether this hack is done with a package
system or directly.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze
))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
, then it is probably better to not do that
anymore.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
are
really used as repositories -- rather than trying to force it into
looking like you still have a single monolithic repository.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life
About a month ago, Matthias Felleisen wrote:
On Jul 7, 2013, at 12:08 AM, Eli Barzilay e...@barzilay.org wrote:
It would be nice to have some way of doing it with contracts, but
that's obviously impractical -- so I think that a good way to
solve it and other such problems is to add
has gone from being useless to being confusing...
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
_
Racket Developers list:
http://lists.racket-lang.org/dev
point is that dealing with two of these paths and
comparing it with the old paths made this thing ridiculously difficult
to notice.]
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life
701 - 800 of 845 matches
Mail list logo