Coverage for src / competitive_verifier / oj / verify / languages / haskell.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.13.1, created at 2026-03-05 16:00 +0000

1from pydantic import Field 

2 

3from competitive_verifier.models import ShellCommand, ShellCommandLike 

4from competitive_verifier.oj.verify.models import OjVerifyUserDefinedConfig 

5 

6from .user_defined import UserDefinedLanguage 

7 

8 

9class OjVerifyHaskellConfig(OjVerifyUserDefinedConfig): 

10 execute: ShellCommandLike = Field( 

11 default_factory=lambda: ShellCommand( 

12 command=["runghc", "{basedir}/{path}"], 

13 ), 

14 ) 

15 

16 

17class HaskellLanguage(UserDefinedLanguage): 

18 def __init__(self, *, config: OjVerifyHaskellConfig | None): 

19 super().__init__(extension="hs", config=config or OjVerifyHaskellConfig())