]> gitweb.michael.orlitzky.com - hath.git/log
hath.git
14 years agoAdded a new Maskable typeclass with instances Octet and IPv4Address.
Michael Orlitzky [Thu, 6 May 2010 01:42:47 +0000 (21:42 -0400)]
Added a new Maskable typeclass with instances Octet and IPv4Address.
Export octet[1-4] from IPv4Address.
Implemented a new 'contains' function for Cidrs using the Maskable class' apply_mask function.

14 years agoDon't validate the CIDR strings; rather, check whether the type of the returned Cidrs...
Michael Orlitzky [Sun, 2 May 2010 21:08:23 +0000 (17:08 -0400)]
Don't validate the CIDR strings; rather, check whether the type of the returned Cidrs is Cidr.None.

14 years agoRemoved the Text.Regex.Posix import.
Michael Orlitzky [Sun, 2 May 2010 21:06:31 +0000 (17:06 -0400)]
Removed the Text.Regex.Posix import.
Removed the is_valid_cidr function.
Send each octet/maskbit string to the appropriate module for parsing.
Return Cidr.None if either the octets or maskbits are invalid.

14 years agoReplace the Maskbits type alias with the real thing.
Michael Orlitzky [Sun, 2 May 2010 21:05:46 +0000 (17:05 -0400)]
Replace the Maskbits type alias with the real thing.

14 years agoAdded the octet_from_string function.
Michael Orlitzky [Sun, 2 May 2010 21:05:15 +0000 (17:05 -0400)]
Added the octet_from_string function.

14 years agoAdded the Maskbits module and type.
Michael Orlitzky [Sun, 2 May 2010 21:04:37 +0000 (17:04 -0400)]
Added the Maskbits module and type.

14 years agoAdded a None constructor for Cidr.
Michael Orlitzky [Sun, 2 May 2010 19:23:48 +0000 (15:23 -0400)]
Added a None constructor for Cidr.
Return Cidr.None when we are passed an invalid IPv4Address.

14 years agoAdd a None constructor for IPv4Address.
Michael Orlitzky [Sun, 2 May 2010 19:22:28 +0000 (15:22 -0400)]
Add a None constructor for IPv4Address.
Hide the constructor for IPv4Address.
Created an ipv4address_from_octets function which mimics the constructor but will return IPv4Address.None in response to being passed Octet.Nones.

14 years agoAdd a None constructor for Octets.
Michael Orlitzky [Sun, 2 May 2010 19:19:00 +0000 (15:19 -0400)]
Add a None constructor for Octets.
Return Octet.None when an octet is created from an invalid Int.

14 years agoAdd a None constructor for Bits.
Michael Orlitzky [Sun, 2 May 2010 19:18:25 +0000 (15:18 -0400)]
Add a None constructor for Bits.

14 years agoRemove the ipv4address_from_string function.
Michael Orlitzky [Sun, 2 May 2010 19:05:55 +0000 (15:05 -0400)]
Remove the ipv4address_from_string function.

14 years agoUpdate Main and Cidr to use the new modules instead of converting to/from bit strings.
Michael Orlitzky [Sun, 2 May 2010 18:39:08 +0000 (14:39 -0400)]
Update Main and Cidr to use the new modules instead of converting to/from bit strings.

14 years agoMove the is_valid_cidr function in to the Cidr module.
Michael Orlitzky [Sun, 2 May 2010 18:01:12 +0000 (14:01 -0400)]
Move the is_valid_cidr function in to the Cidr module.

14 years agoAdded three new modules which are currently independent of the rest of the code:...
Michael Orlitzky [Sun, 2 May 2010 17:53:40 +0000 (13:53 -0400)]
Added three new modules which are currently independent of the rest of the code: Bit, Octet, and IPv4Address.

14 years agoAllow "regexed" and "reduced" for the mode.
Michael Orlitzky [Sat, 1 May 2010 07:53:19 +0000 (03:53 -0400)]
Allow "regexed" and "reduced" for the mode.
Add valid modes to the usage string.

14 years agoAdd mode parsing to the CommandLine module.
Michael Orlitzky [Fri, 30 Apr 2010 22:56:00 +0000 (18:56 -0400)]
Add mode parsing to the CommandLine module.
Separate the parse_errors, parse_options, and parse_mode functions.
Add a second mode of operation, Reduce (currently echoes its input).

14 years agoAdd a CommandLine module for parsing command-line options.
Michael Orlitzky [Thu, 29 Apr 2010 02:20:56 +0000 (22:20 -0400)]
Add a CommandLine module for parsing command-line options.
Update the Main module to use the new CommandLine module.
Implement an input file option (to override stdin).

14 years agoMoved most of the CIDR code out of Main and in to a new Cidr module.
Michael Orlitzky [Thu, 22 Apr 2010 00:48:59 +0000 (20:48 -0400)]
Moved most of the CIDR code out of Main and in to a new Cidr module.
Created a Cidr data type to handle four-tuples of octets.
Modified all of the function signatures to use the new Cidr data type.

14 years agoUnqualify the Numeric import, and specify the functions that we need.
Michael Orlitzky [Fri, 2 Apr 2010 04:46:33 +0000 (00:46 -0400)]
Unqualify the Numeric import, and specify the functions that we need.

14 years agoUnqualify the Data.List import, and specify the functions that we need.
Michael Orlitzky [Fri, 2 Apr 2010 04:45:13 +0000 (00:45 -0400)]
Unqualify the Data.List import, and specify the functions that we need.

14 years agoUnqualify the Data.Char import, and specify the functions that we need.
Michael Orlitzky [Fri, 2 Apr 2010 04:43:27 +0000 (00:43 -0400)]
Unqualify the Data.Char import, and specify the functions that we need.

14 years agoRename hath.hs to Main.hs.
Michael Orlitzky [Fri, 2 Apr 2010 04:40:39 +0000 (00:40 -0400)]
Rename hath.hs to Main.hs.

14 years agoSeparate a few functions out in to a ListUtils module.
Michael Orlitzky [Fri, 2 Apr 2010 04:37:10 +0000 (00:37 -0400)]
Separate a few functions out in to a ListUtils module.

14 years agoTake a newline-separated list of CIDRs as input, and output a regex that will match...
Michael Orlitzky [Thu, 1 Apr 2010 05:29:26 +0000 (01:29 -0400)]
Take a newline-separated list of CIDRs as input, and output a regex that will match any of them.

14 years agoCommented each function.
Michael Orlitzky [Thu, 1 Apr 2010 00:39:32 +0000 (20:39 -0400)]
Commented each function.
Added address barriers on the result of cidr_to_regex.

14 years agoAdded the bin directory and its .gitignore file.
Michael Orlitzky [Wed, 31 Mar 2010 06:02:50 +0000 (02:02 -0400)]
Added the bin directory and its .gitignore file.

14 years agoInitial commit; the first thing that would compile and produce sane output.
Michael Orlitzky [Wed, 31 Mar 2010 06:01:31 +0000 (02:01 -0400)]
Initial commit; the first thing that would compile and produce sane output.