Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 19 additions & 15 deletions plutus-core/executables/plutus/AnyProgram/IO.hs
Original file line number Diff line number Diff line change
Expand Up @@ -29,31 +29,35 @@ import Prettyprinter
import Prettyprinter.Render.Text
import System.IO

readProgram
:: (?opts :: Opts)
=> SLang s -> File s -> IO (FromLang s)
readProgram :: (?opts :: Opts)
=> SLang s -> File s -> IO (FromLang s)
readProgram sngS fileS =
case fileS ^. fName of
Just (Example _eName) ->
failE "Reading from examples is not supported yet. Provide a file path instead."
-- case sngS of
-- SPir SName SUnit ->
-- case lookup eName termExamples of
-- Just ast -> pure $ PIR.Program () undefined ast
-- Nothing -> error $ "Couldn't find example with name " ++ eName
_ -> case fileS ^. fType . fFormat of
case fileS^.fName of
Just (Example _eName) ->
error "FIXME: Not implemented yet."
Copy link
Contributor

@ana-pantilie ana-pantilie Feb 9, 2026

Choose a reason for hiding this comment

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

Why is this error now?

-- case sngS of
-- SPir SName SUnit ->
-- case lookup eName termExamples of
-- Just ast -> pure $ PIR.Program () undefined ast
-- Nothing -> error $ "Couldn't find example with name " ++ eName

_ -> do
fileName <- case fileS^.fName of
Just name -> pure name
Nothing -> failE "No input file specified."
case fileS^.fType.fFormat of
Text -> do
bs <- readFileName (fromJust $ fileS ^. fName)
bs <- readFileName fileName
case parseProgram sngS $ T.decodeUtf8Lenient bs of
Left err -> failE $ show err
Right res -> pure res
Flat_ -> withLang @Flat sngS $ do
bs <- readFileName (fromJust $ fileS ^. fName)
bs <- readFileName fileName
case unflat bs of
Left err -> failE $ show err
Right res -> pure res
Cbor -> do
bs <- readFileName (fromJust $ fileS ^. fName)
bs <- readFileName fileName
-- TODO: deduplicate
case sngS %~ SData of
Proved Refl ->
Expand Down