I apologise if “bug” is not proper nomenclature in this forum.

Consider the following program, stored as “binio.sml” in the current directory:

structure FS = Posix.FileSys
structure IO = Posix.IO

fun main () =
    let
      val fname = "binio.sml"
      val fd = FS.openf (fname, FS.O_RDONLY, (FS.O.flags []))
      val rd = IO.mkBinReader {fd=fd, initBlkMode=false, name=fname}
      val stream = BinIO.mkInstream
                     (BinIO.StreamIO.mkInstream (rd, Word8Vector.fromList []))
    in
      print (Byte.bytesToString (BinIO.inputAll stream))
    end

;

main()

On OS X 10.9.5 I get:

$ poly --use binio.sml 
Poly/ML 5.5.2 Release
structure FS : POSIX_FILE_SYS
structure IO : POSIX_IO
val main = fn: unit -> unit
Assertion failed: (save_vec_addr < save_vec+1000), function push, file 
save_vec.cpp, line 70.
Abort trap: 6

BTW is there a simpler/more canonical way to take a Posix.FileSys.file_desc 
into a BinIO.instream? I copied the above pretty much verbatim from the Poly/ML 
sources.

thanks,
peter

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml

Reply via email to