part of type deduction done, debugging in proces

This commit is contained in:
ProgramSnail 2023-07-07 22:53:14 +03:00
parent a208e2f42d
commit 3815f8259b
6 changed files with 212 additions and 59 deletions

View file

@ -16,6 +16,10 @@ decl random : -> \int // TODO
decl error : \string -> \unit
decl some 'a : 'a -> 'a?
decl none 'a : 'a -> 'a?
//
decl not : \bool -> \bool
@ -264,24 +268,24 @@ decl scan-three : -> (& \string & \string & \string)
def scan-three = & \io..scan: & \io..scan: & \io..scan:
exec main {
var n = \int..read: (\io..scan:)
// var n = \int..read: (\io..scan:)
//
// if n <= 0 then error: "n can't be less then 1"
//
// // var x = (for _ in 0--n do scan-int:)
// var x = \array[int]..of: (for _ in 0--n do scan-int:)
//
//
// var k? = if n < 2 then n * 2 +. 3 in
// , print-anything:[string] "n < 2"
// , print-anything:[int] k
//
// ; print-anything:[int] n
if n <= 0 then error: "n can't be less then 1"
; print-int-with-comment: ::i 123 (some: "comment")
// var x = (for _ in 0--n do scan-int:)
var x = \array[int]..of: (for _ in 0--n do scan-int:)
var k? = if n < 2 then n * 2 +. 3 in
, print-anything:[string] "n < 2"
, print-anything:[int] k
; print-anything:[int] n
; print-int-with-comment: ::i 123
var & a & b & c = scan-three-t:
; \io..print: b
var & d & e & f = scan-three:
; \io..print: e
// var & a & b & c = scan-three-t:
// ; \io..print: b
// var & d & e & f = scan-three:
// ; \io..print: e
}