google / google/codeworld

Requirements: Runtime testing

Đang mở
#778 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
discussion
Ngôn ngữ chính
Haskell
Star
1.3k
Fork
201
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

It would be great to be able to define runtime tests that must be passed as part of the requirements checker. This would involve a severe change in the way the requirements checker works, but my plan is this:

1. Implement the requirements checker as a GHC source plugin rather than a separate CodeWorld build step.
2. For static rules (all of those currently implemented), the result is computed at compile time and hard-coded into the generated code. For dynamic rules (like runtime tests), code is generated to check the result at runtime.
3. Code for reporting (and evaluation, in the dynamic case) of rules is injected at the beginning of `main`, to run as the first action of the compiled code before anything else.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu bằng cách xác định trình kiểm tra yêu cầu và bước build riêng của CodeWorld, sau đó đọc cách các quy tắc tĩnh hiện tại được đánh giá. Công việc được đề xuất hoàn tất khi trình kiểm tra là một source plugin của GHC, xử lý các quy tắc tĩnh tại thời điểm biên dịch, các kiểm thử runtime động trong mã được tạo và việc báo cáo trước khi main thực hiện các hành động khác.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
haskell
Lĩnh vực
compilers, testing-qa
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.