I need to write something that will notice when a change happens in a
directory (file added, delete, modified, etc) and let me take action
based on that.  I was excited when I saw Racket's "Detecting
Filesystem Changes"
(https://docs.racket-lang.org/reference/Filesystem.html#%28part._filesystem-change%29)
section, but having read through it I am (a) confused and (b) not
sanguine about this being what I need.

I also saw this: http://benaiah.me/posts/watching-filesystem-racket/
but I'm hoping there's a way that does not involve installing extra
software on the customer's machine.

After reading through the DFC docs multiple times, this is what I
think it says; could someone please confirm this for me?


"Synchronizable event" is another name for "event".  The word
"synchronizable" is redundant.

An event is an object.

Some events are purpose built objects that exist only to be events
while some events are things that have other uses.  Example: a port is
always an event but it has functionality beyond its event-ness.

The purpose of events is to let threads work together without stepping
on each other.  In essence, an event is a message that one thread
sends to another.

Events are not used for inter-process communication, only inter-thread
communication.

An event is ultimately a notification about something -- the
filesystem changed, the user moved the mouse, etc.  When a thread
receives an event and acts upon it that is called "synchronizing" the
event.

Synchronizing an event always yields a result, logically enough called
the 'synchronization result'.  This result is often the event itself
but does not have to be.

Events are mutable.  Synchronizing may affect their state.

Events are typically generated either manually (e.g. <alarm-evt>,
which produces an event object for later use) or semi-manually (e.g.
calling thread-send which sends the specified value as an event).



Hopefully all of the above is correct.  If so, I have an understanding
of events but I still know nothing about detecting filesystem change
events.  I've looked through PLaneT and found nothing that seems like
an FS-monitoring package.  Can anyone suggest how to do this?

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to