All non-contiguous mappings: Currently FunnelWeb requires that all input files be mapped into a contiguous lump of memory. This caused problems for two reasons. First, to do this, one has to allocate the memory first, and to do that, you have to know how long the file is, and it turns out that finding out the length of a file in a portable manner is very inefficient. Second, although IBM PC compatibles may have megabytes of memory, it is segmented into blocks of at most 64K. This means that FunnelWeb currently cannot read a file longer than 64K on a PC.contiguousmemory
These problems could be avoided if the mapper and scanner were reorganized to allow input files to be read in and stored as a linked list of chunks of text rather than a contiguous block.
EOL is unspecifiable: FunnelWeb uses ASCII character decimal ten (10) internally to represent logical end-of-line and is currently organized so that if one of these is inserted into the text by the user using a @D(10), it will be written out as a logical end of line, rather than as a single ASCII character 10. This should be fixed.representationEOL
Allow mnemonics for unprintables: FunnelWeb allows users to insert unprintable characters into the output using the @D(ddd) special sequence. Perhaps it would be changed so that it understands ASCII standard mnemonics such as LF as well as ASCII numbers.ASCIImnemonics
Version pragma: A version pragma should be added that allows the user to specify in the input file the version of FunnelWeb that was around when the input file was created. At a later date, such a construct would be very useful for determining how an input file should be updated if the FunnelWeb language has changed between versions.versionpragma