File: 326_jsonCase.sml

package info (click to toggle)
smlsharp 4.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 123,732 kB
  • sloc: ansic: 16,725; sh: 4,347; makefile: 2,191; java: 742; haskell: 493; ruby: 305; cpp: 284; pascal: 256; ml: 255; lisp: 141; asm: 97; sql: 74
file content (25 lines) | stat: -rw-r--r-- 671 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
val x = JSON.import "1";
_jsoncase x of
   y:bool => raise Fail "does not happen"
 | x:int => "OK should be printed"

(*
2016-06-07 ohori
_jsoncaseで,2番目以降のパターンが試みられない.

# val x = JSON.import "1";
val x = _ : JSON.void JSON.dyn
# _jsoncase x of y:bool => "does not happen" | x:int => "OK should be printed";
uncaught exception JSON.RuntimeTypeError at src/json/main/JSONImpl.sml:126
*)

(*
2016-07-14 katsu
このチェンジセットの時点でこの問題は発生しない

  changeset:   7547:1183956ca6a8
  user:        tsasaki
  date:        Thu Jul 14 11:45:24 2016 +0900
  coerceTyがconstraintを返すように変更

*)