bug fixes

This commit is contained in:
ProgramSnail 2023-07-06 16:15:15 +03:00
parent 777fd830b0
commit bb8b32a7c8
5 changed files with 136 additions and 109 deletions

View file

@ -19,10 +19,17 @@ decl error : \string -> \unit
//
decl not : \bool -> \bool
def not : x =
(match x with
def not : x = {
; print-anything:[bool] x
; print-anything:[bool]
(match x with
| true -> false
| false -> true)
return (match x with
| true -> false
| false -> true)
}
//
@ -188,6 +195,10 @@ decl ( -- ) : \int -> \int -> \int`0
def ( -- ) : begin end = {
var current = begin
return (while current < end do {
; print-anything:[string] "iteration:"
; print-anything:[int] begin
; print-anything:[int] current
; print-anything:[int] end
; current += 1
bring current - 1
})
@ -258,24 +269,22 @@ decl scan-three : -> (& \string & \string & \string)
def scan-three = & \io..scan: & \io..scan: & \io..scan:
exec main {
var n = scan-anything:[int]
var n = \int..read: (\io..scan:)
; print-anything:[bool] (n < 2) // TODO: fix exception (arguments not present ??)
if n <= 0 then error: "n can't be less then 1"
if n > 1 then print-anything:[string] "aaa" // not work (??)
// var x = (for _ in 0--n do scan-int:) // $array[int] & 0
var x = (for _ in 0--n do scan-int:) // $array[int] & 0
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: ::x 123
var & a & b & c = scan-three-t:
; \io..print: b
var & d & e & f = scan-three:
; \io..print: e
// 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: ::x 123
//
// var & a & b & c = scan-three-t:
// ; \io..print: b
// var & d & e & f = scan-three:
// ; \io..print: e
}