Skip to content

Conversation

@ioannessh
Copy link
Contributor

No description provided.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zanuda-linter report

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zanuda-linter report

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zanuda-linter report

(let anf_app#19=(anf_app#17 anf_app#18)
in
anf_app#19))))))
)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. В процессе построения ANF должно быть адекватным. Стоит его распечатывать обратно в исходный синтаксис, и проверять, что типы (не) разъехались.

По-моему этот пункт не соблюдается.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Хорошо, перепишу печать ANF. Какие ещё замечания нужно исправить?

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zanuda-linter report

$ dune exec parser_test < manytests/typed/006partial3.ml
(let foo a=(let ()=(print_int->a) in (fun b->(let ()=(print_int->b) in (fun c->(print_int->c))))))
(let main=(let ()=(foo->4->8->9) in 0))
$ dune exec parser_test < manytests/typed/007order.ml
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А почему этот тест не работает?

(let foo a b c=(let ()=(print_int->a) in (let ()=(print_int->b) in (let ()=(print_int->c) in (a+(b*c))))))
(let main=(let foo=(foo->1) in (let foo=(foo->2) in (let foo=(foo->3) in (let ()=(print_int->foo) in 0)))))
$ dune exec parser_test < manytests/typed/006partial3.ml
(let foo a=(let ()=(print_int->a) in (fun b->(let ()=(print_int->b) in (fun c->(print_int->c))))))
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

По-поему pretty-printer сломан и не работает.

in
anf_if_1
$ dune exec anf_conv_test < manytests/do_not_type/003occurs.ml
Id f not found in env
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

????

> (fack n (fun x -> x))
> ;;
> EOF
f not found
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Вы на шару скинули не работающие тесты? Комиссии это очень понравится.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zanuda-linter report

@@ -0,0 +1,1537 @@
$ dune exec riscv64_instr_test << EOF
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

У меня все тесты массово не работают. Подозреваю, потому что там внутри дюна вызывается.

Copy link
Contributor Author

@ioannessh ioannessh Apr 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

У меня работают, в CI тоже запускаются, в других работах dune внутри тоже запускается

@Kakadu
Copy link
Owner

Kakadu commented Apr 22, 2025

First-class функции, в том числе с частичным примерением и взаимной рекурсией.
Вызовы функций должны быть efficient: если 3-арная функция вызывается от трёх аргументов, то нельзя делать 3 частичных применения под одному аргументу.

Соблюдается ли это невозможно понять из тестов.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zanuda-linter report

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zanuda-linter report

@ioannessh
Copy link
Contributor Author

ioannessh commented Apr 23, 2025

First-class функции, в том числе с частичным примерением и взаимной рекурсией.
Вызовы функций должны быть efficient: если 3-арная функция вызывается от трёх аргументов, то нельзя делать 3 частичных применения под одному аргументу.

Соблюдается ли это невозможно понять из тестов.

@Kakadu, в последнем тесте из anf_conv_test, есть применение для такого случая

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zanuda-linter report

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zanuda-linter report

@github-actions
Copy link

Linter report from 2025-04-24 17:12, for mini language slarnML


@Kakadu Kakadu merged commit 61f0faa into Kakadu:master Apr 24, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants