bug fixes

This commit is contained in:
ProgramSnail 2023-07-06 23:23:19 +03:00
parent bb8b32a7c8
commit 8647918f37
6 changed files with 87 additions and 102 deletions

View file

@ -19,17 +19,10 @@ decl error : \string -> \unit
//
decl not : \bool -> \bool
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)
}
def not : x =
(match x with
| true -> false
| false -> true)
//
@ -195,10 +188,6 @@ 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
})
@ -253,12 +242,12 @@ def print-anything : x = \io..print: (x..show:)
// return a-copy
// }
// struct \array 'a = & 'a // 'a`0
struct \array 'a = & 'a`0
// namespace \array {
// decl of : 'a`0 -> \array['a]
// def of : x = $array['a] & data = x
// }
namespace \array {
decl of : 'a`0 -> \array['a]
def of : x = $array['a] & x
}
struct \three-tuple = & \string & \string & \string
@ -273,18 +262,20 @@ exec main {
if n <= 0 then error: "n can't be less then 1"
// var x = (for _ in 0--n do scan-int:) // $array[int] & 0
// 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: ::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
}