|
|
이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
최종욱
가입: 2009년 9월 15일 올린 글: 84
|
올려짐: 2010년11월17일 21:08 주제: 숙제 6-2 테스트? |
|
|
이것이 이 시각에 올라온 이유는 제가 딜레이를 했기 때문입니다. 오오 통재라.
요건 기본 확인용.
int
코드: | "We need enough time to do homework" |
string
true
error
int
string
error
int
코드: | "did"; (fn you => "implemented") "sequence " |
string
코드: | (fn x => fn y => x + y ); 3 |
int
코드: | (fn x => fn y => x + "1"); 0 |
error
코드: |
(* let *)
let val x = 1 in x end
|
int
코드: |
let val x = 1 in (x and 1) end
|
error
코드: |
(* sequence is not that simple *)
(let val id = (fn x => x) in id end)
;
let val identity = (fn arg => arg) in
( identity "tricky" ; identity 0 )
end
|
error
(* IF *)
코드: |
if true then 1 else 2
|
int
코드: |
if "sdf" then 1 else 2
|
error
코드: |
if false then 10 else "1245"
|
error
코드: |
fn x=>
(
if true then
(fn x => 3) "5"
else x
) 10
|
error
코드: |
(fn x=> (if true then
(fn x => 3) "5" else x))
10
|
int
코드: |
(fn x=> fn y=> if x then y else 1)
false 1
|
int
코드: |
(fn x=> x) ; (fn x=> 2) "oop"
|
int
(* let rec, let nrec test *)
코드: |
let val f = fn x=> "a" in
let rec
f = fn x => ( x + f(1))
in f(11) end end
|
int (stack overflow)
코드: |
let val f = fn x=> "a" in
let val
f = fn x => ( x + f(1))
in f(11) end end
|
error
int
bool
int
코드: |
let val f = fn x=> write x in
write 1;
write "a";
write true
end
(*ERROR !*)
|
error
코드: |
let val f = fn x=> write x in
f 1;
f "a";
f true
end
(*ERROR. NOT BOOL *)
|
error
코드: |
(* wow! *)
let val f = fn x=> write x in
write 1; 3 end |
error
int
코드: |
write (write 1 + write 2)
|
int
코드: |
write (true and (write 1))
|
error
코드: |
(fn x=> (write x) + 5) 10
(* int *)
|
int
코드: |
(fn x=> (write x) + 5) true
(*ERROR *)
|
error
(int, int)
코드: |
(
(3, (fn x=> write x) + 5),
((fn x=>x) + 1, "wow")
)
|
error
코드: |
( ((fn x=>x+1), (fn y=>y and false)).1 , (3,"s").2)
|
(int -> int, string)
코드: |
(1, let val z = 1 in
(fn x=> fn y=> (x+z;
y and true))
end)
|
(int , (int)->((bool)->(bool)))
코드: |
let val x = malloc(3) in x end
|
loc(int)
코드: |
let val x = 1 in
x := 7
end
|
error
코드: |
let val x = malloc 10 in
x := 5
end
|
int
코드: |
let val x = malloc 10 in
x := "ba"
end
|
error
코드: |
let val x = malloc (1,2) in
x.1 := 3
end
(*ERROR *)
|
error
코드: |
malloc (malloc (malloc read))
|
loc(loc(loc(int)))
코드: |
let val f = (fn x => malloc x) in f end
|
error
코드: |
let val f = (fn x => malloc x) in (f 3; f 4) end
|
loc(int)
코드: |
let val f = (fn x => malloc x) in (f 3; f "kwangkeun yi") end
|
error
잠시 후에 좀 까다로운 예제들을.. _________________ Jongwook Choi
Seoul National University, School of Computer Science & Engineering |
|
위로 |
|
|
최종욱
가입: 2009년 9월 15일 올린 글: 84
|
올려짐: 2010년11월17일 22:59 주제: |
|
|
error
error
코드: |
write (write 1, write true)
|
error
코드: |
malloc (write 1, write true)
|
loc( (int, bool))
코드: |
let val f = (fn a => fn b => fn c => fn d => (a+c; b and d; ((a,b), (c,d)) ) ) in f 1 2 3 4 end
|
error
코드: |
let val f = (fn a => fn b => fn c => fn d => (a+c; b and d; ((a,b), (c,d)) ) ) in f 1 true 3 false end
|
( (int, bool), (int ,bool) )
bool
error
error
error
코드: |
(malloc 1) = (malloc 2)
|
bool
코드: |
(fn x=> fn y=> (write x; write y; x=y)) 3 4
|
bool
코드: |
(* tricky WRITE test : func is int->bool, and entire is error *)
let val func = ( fn x=> fn y=> (write x ; write(y); (x=y)) ) 2 in
func "hello" end
|
error
코드: |
(* tricky WRITE test : func is int->bool, and NOT ERROR *)
(* answer : ( loc(int -> bool) *)
let val func = ( fn x=> fn y=> (write x ; write(y); (x=y)) ) 2222 in
(malloc(func)) end
|
loc( int -> bool )
코드: |
(true, fn x=> ((write x); x and true))
|
(bool, bool -> bool) _________________ Jongwook Choi
Seoul National University, School of Computer Science & Engineering |
|
위로 |
|
|
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|