deserialize.km 674 B

12345678910111213141516171819
  1. import Data from './schema';
  2. do { os::open-read-only (os::EntryModuleDirPath join ['sample','sample1.kmd']) }
  3. . { then &(file) =>
  4. file
  5. . { read-all }
  6. . { then &(binary) =>
  7. let result: Result[Data::Canvas,Error] :=
  8. { Data::@deserialize binary },
  9. switch result:
  10. case Success canvas:
  11. let _ := { trace canvas },
  12. { os::println 'Deserialization Finished' },
  13. case Failure err:
  14. { os::println { "Deserialization Error: ?" err.{String} } },
  15. end
  16. } }
  17. . { crash-on-error };