본문 바로가기

프로그래밍언어

[프로그래밍언어/Racket] Programming Language, Assignment 5 , MUPL - 컴도리돌이 #lang racket (provide (all-defined-out)) ;; exports the defined variables in this file. ;; definition of structures for MUPL programs - Do NOT change (struct var (string) #:transparent) ;; a variable, e.g., (var "foo") (struct int (num) #:transparent) ;; a constant number, e.g., (int 17) (struct add (e1 e2) #:transparent) ;; add two expressions (struct ifgreater (e1 e2 e3 e4) #:transparent) ;; i.. 더보기
[프로그래밍 언어/ Racket] check_bst.rkt , apply.rkt, equals.rkt - Programming Language #lang racket (provide (all-defined-out)) (define (node_value node) (car node)) (define (node_left_child node) (cadr node)) (define (node_right_child node) (caddr node)) (define (check_bst ROOT) (if (null? ROOT) #t (letrec ([value (node_value ROOT)] [check_right_child_value (lambda(node) (if (null? node) #t (< value (node_value node))))] [check_left_child_value (lambda(node) (if (null? node) #t (.. 더보기
[프로그래밍언어/ML] ML Modules - 컴도리돌이 2020/06/15 - [컴퓨터 전공 공부/프로그래밍언어론] - [프로그래밍언어/ML] pairs, lists, local bindings, benefit of no mutation - 컴도리돌이-(1) 2020/06/15 - [컴퓨터 전공 공부/프로그래밍언어론] - [프로그래밍 언어/ ML] Records, Datatypes, Case Expressions and more - 컴도리돌이-(2) 2020/06/15 - [컴퓨터 전공 공부/프로그래밍언어론] - [프로그래밍 언어론/ ML] Nested Patterns Exceptions tail Recursion -컴도리돌이-(3) 2020/06/16 - [컴퓨터 전공 공부/프로그래밍언어론] - [프로그래밍언어/ML] ML Modules - 컴도리돌이-(4.. 더보기
[프로그래밍 언어론/ ML] Nested Patterns Exceptions tail Recursion -컴도리돌이 2020/06/16 - [컴퓨터 전공 공부/프로그래밍언어론] - [프로그래밍 언어/ SML] Records, Datatypes, Case Expressions and more - 컴도리돌이-(2) 2020/06/15 - [컴퓨터 전공 공부/프로그래밍언어론] - [프로그래밍언어/ML] pairs, lists, local bindings, benefit of no mutation - 컴도리돌이-(1) Pattern Matching fun eval e = case e of Constant i => i | Negate e2 => ~ (eval e2) | Add(e1,e2) => (eval e1) + (eval e2) | Multiply(e1,e2) => (eval e1) * (eval e2) fun eval(C.. 더보기
[프로그래밍언어/ML] pairs, lists, local bindings, benefit of no mutation - 컴도리돌이 Function bindings ML 언어에서 함수를 구현할 때 기본적으로 3가지를 확인을 해야 한다. - Syntax - Evalutation - Type-checking (*기본적인 형태*) fun x0 (x1 : t1, ... , xn : tn) = e (*example*) fun apply_f( f: int * int -> int, x : int, y:int ) = ... syntax : fun apply_f( f : int * int -> int, x : int, y : int) = -> Debugging Errors : 의도한 구성이 틀렸거나, 구성을 하지 않았거나 evalutation : apply_f 함수는 매개 변수로 x, y의 값을 받아 온다. -> Debugging Errors : 디.. 더보기