digitalmars.D - range stuff
- superdan (3/3) Feb 16 2009 a'ight i've read all range stuff n ruminated on it for a while. yer rang...
- Michel Fortin (15/28) Feb 16 2009 Interesting. In fact I started a prototype of some kind of filter range
- Andrei Alexandrescu (14/43) Feb 17 2009 I think filtering ranges are a great idea. Some were already present
- Chris Nicholson-Sauls (8/57) Feb 17 2009 Which would, incidentally, not only be a godsend for folks who still
a'ight i've read all range stuff n ruminated on it for a while. yer ranges suck goat balls. something's amiss. yer have ranges that generate stuff. some even ferever. then yer have ranges that eat stuff output ranges that is. but there's no range that has both input and output. some sort of filter ranges. yer should connect stuff together to get chains n stuff. see? i'm sayin': why would ya have a piehole & an asshole if yer don't have a stomach. i/o ranges are a missing link. if yer smart u can unify range stuff and stream stuff together. then stream or range it's all the same. not sure its possible but if it is only yer can pull it. that would be dogs bollocks.
Feb 16 2009
On 2009-02-16 20:21:00 -0500, superdan <super dan.org> said:a'ight i've read all range stuff n ruminated on it for a while. yer ranges suck goat balls. something's amiss. yer have ranges that generate stuff. some even ferever. then yer have ranges that eat stuff output ranges that is. but there's no range that has both input and output. some sort of filter ranges. yer should connect stuff together to get chains n stuff. see? i'm sayin': why would ya have a piehole & an asshole if yer don't have a stomach. i/o ranges are a missing link. if yer smart u can unify range stuff and stream stuff together. then stream or range it's all the same. not sure its possible but if it is only yer can pull it. that would be dogs bollocks.Interesting. In fact I started a prototype of some kind of filter range for tokenizing XML: takes characters and gives tokens. That said, what you get is an input range (you can read tokens) that you build from an other input range (character range). So while it may fit the definition of a filter range, it may not be what you're thinking about. What you want, an output range linked to an input range makes me think of the XmlEventReaderToWriter class in BerkelyDB XML, although in reverse (writer to reader) since ranges aren't pushing events, but pulling data when requested. <http://www.oracle.com/technology/documentation/berkeley-db/xml/api_cxx/frame.html> -- Michel Fortin michel.fortin michelf.com http://michelf.com/
Feb 16 2009
Michel Fortin wrote:On 2009-02-16 20:21:00 -0500, superdan <super dan.org> said:I think filtering ranges are a great idea. Some were already present without a formal interface, e.g. map has an input and an output. All I need is to define a common interface for connecting a range to another. To that end, I will proclaim that if a range has the primitive setInput(SomeRange input) then it is a filtering range. This will be very useful for e.g. transcoding (we'll need at some point to rewrite std.encoding): a newly-defined character type SomeChar must define a filtering range that eats ranges of SomeChar and outputs dchar, and also a filtering range that eats dchar and produces SomeChar. Then that filter can be used to transfer characters across strings but also any combination of ranges including files. Andreia'ight i've read all range stuff n ruminated on it for a while. yer ranges suck goat balls. something's amiss. yer have ranges that generate stuff. some even ferever. then yer have ranges that eat stuff output ranges that is. but there's no range that has both input and output. some sort of filter ranges. yer should connect stuff together to get chains n stuff. see? i'm sayin': why would ya have a piehole & an asshole if yer don't have a stomach. i/o ranges are a missing link. if yer smart u can unify range stuff and stream stuff together. then stream or range it's all the same. not sure its possible but if it is only yer can pull it. that would be dogs bollocks.Interesting. In fact I started a prototype of some kind of filter range for tokenizing XML: takes characters and gives tokens. That said, what you get is an input range (you can read tokens) that you build from an other input range (character range). So while it may fit the definition of a filter range, it may not be what you're thinking about. What you want, an output range linked to an input range makes me think of the XmlEventReaderToWriter class in BerkelyDB XML, although in reverse (writer to reader) since ranges aren't pushing events, but pulling data when requested. <http://www.oracle.com/technology/documentation/berkeley-db/xml api_cxx/frame.html>
Feb 17 2009
Andrei Alexandrescu wrote:Michel Fortin wrote:Which would, incidentally, not only be a godsend for folks who still need to work with non-Unicode text once in a while -- typedef'ing ubyte just possibly became useful -- but also potentially simplifies bridging between protocols, incremental multiple dispatch (if each range is also a dispatcher for example), structure-to-structure conversions, and a whole host of other nifties. -- Chris Nicholson-SaulsOn 2009-02-16 20:21:00 -0500, superdan <super dan.org> said:I think filtering ranges are a great idea. Some were already present without a formal interface, e.g. map has an input and an output. All I need is to define a common interface for connecting a range to another. To that end, I will proclaim that if a range has the primitive setInput(SomeRange input) then it is a filtering range. This will be very useful for e.g. transcoding (we'll need at some point to rewrite std.encoding): a newly-defined character type SomeChar must define a filtering range that eats ranges of SomeChar and outputs dchar, and also a filtering range that eats dchar and produces SomeChar. Then that filter can be used to transfer characters across strings but also any combination of ranges including files. Andreia'ight i've read all range stuff n ruminated on it for a while. yer ranges suck goat balls. something's amiss. yer have ranges that generate stuff. some even ferever. then yer have ranges that eat stuff output ranges that is. but there's no range that has both input and output. some sort of filter ranges. yer should connect stuff together to get chains n stuff. see? i'm sayin': why would ya have a piehole & an asshole if yer don't have a stomach. i/o ranges are a missing link. if yer smart u can unify range stuff and stream stuff together. then stream or range it's all the same. not sure its possible but if it is only yer can pull it. that would be dogs bollocks.Interesting. In fact I started a prototype of some kind of filter range for tokenizing XML: takes characters and gives tokens. That said, what you get is an input range (you can read tokens) that you build from an other input range (character range). So while it may fit the definition of a filter range, it may not be what you're thinking about. What you want, an output range linked to an input range makes me think of the XmlEventReaderToWriter class in BerkelyDB XML, although in reverse (writer to reader) since ranges aren't pushing events, but pulling data when requested. <http://www.oracle.com/technology/documentation/berkeley-db/xml api_cxx/frame.html>
Feb 17 2009