Commit Graph

12 Commits

Author SHA1 Message Date
966b6eb805 文件名错了 use_std_time.fig -> use_std_test.fig 2026-02-09 13:42:56 +08:00
9310252adc 添加interface的示例,上一个commit其实是”添加接口组合!“ 2026-02-09 13:21:53 +08:00
1dadaca4cc 添加结构体组合, interface x : a + b {} 2026-02-08 22:20:12 +08:00
e1c765aade For循环略微性能提升 2026-02-08 09:18:31 +08:00
50ca68b1a4 修复了parser解析initexpr模式判断错误的问题。修复标准库改名忘改的问题 2026-02-04 20:34:35 +08:00
da1a8e04de v0.4.3-alpha
Some checks failed
Release Build / build-windows-x64 (push) Failing after 1m16s
Release Build / build-linux-x64 (push) Failing after 1m20s
[Fix] 函数调用时参数类型求值使用错误作用域的问题
[Fix] 结构体定义中不可以使用自身类型的bug
[Fix] import导致的重定义bug
[Impl] Parser的precedence调整

[Feat] 支持运算符重载, impl Operator for xxx {} 具体见 lang.fig中解释
[Feat] 新增标准库 std.test
[Feat] 新增内置函数 type,接收一个参数,返回该参数的类型(value.type改名value._type)
        推荐使用该函数替换 value._type
[Feat] 新增转换运算符 as,转换失败时抛出TypeError,支持任意类型到String、部分类型到Int, Double等等转换
        TypeError实现了Error interface,可被用户catch
        推荐使用该feat或与std.value标准库结合
[Feat] 抛出实现Error interface的错误现在会有不一样的log
[Feat] import增加cache(ast + source lines),但import一个module每次会得到不同对象而不是复用,请注意
2026-02-04 19:12:18 +08:00
4535f75058 修复了函数调用时求值类型使用的作用域错误的问题。结构体中现在可以使用自己 2026-02-03 18:49:40 +08:00
61bffdc743 文档与readme更新 2026-02-01 13:59:20 +08:00
ca4ae143b4 v0.4.2-alpha
All checks were successful
Release Build / build-windows-x64 (push) Successful in 43s
Release Build / build-linux-x64 (push) Successful in 50s
[Fix][Impl] 为了消除类构造带来的语法歧义,同时保持实现简洁和括号省略的语法,自此版本,引入了 `new` 操作符
            造成歧义的原方法:
                if a == A{}
            条件是 a == A,还是 a == A{} ?

            因此,现在使用 new a_struct{}来构造类
[Opti] 相较于 Fig v0.4.1-alpha版本,release O3同编译条件下
       Fib普通递归法性能提升 ~50%
       具体方式:
            增加了小整数优化,-128~127的整数现在会直接从IntPool获取而不是新构造
            ...忘了
[Fix] 类构造 shorthand模式忘写了,现在补上了
[Feat][Impl] 类型声明现在接受一个表达式,原为Identifier。实现 var start: time.Time = time.now() 的效果
             这是符合语法和语言特性的支持,类型为一等公民。类似Python的 <class 'type'>

[Impl] 修改了部分错误输出的细节
2026-01-22 08:24:14 +08:00
c93840af5f [VER] v0.3.6-alpha
Some checks failed
Release Build / build-linux-x64 (push) Failing after 26s
Release Build / build-windows-x64 (push) Failing after 34s
[Feat] 增加控制台在线安装器 !
[Impl] 修改ExampleCodes的一些实现,使用最新库 std.io
2026-01-04 00:51:11 +08:00
cff6bb77a3 [Example]添加函数示例 2025-12-22 14:00:24 +08:00
2e02960f03 directory organize and lexer now ignores comments 2025-12-22 00:01:24 +08:00