remove node dependencies from Prelude.newt

This commit is contained in:
2024-11-23 16:23:37 -08:00
parent 5cbe594993
commit a809ad1975
7 changed files with 20 additions and 10 deletions

View File

@@ -1,6 +1,7 @@
module Day1
import Prelude
import Node
digits1 : List Char -> List Int
digits1 Nil = Nil

View File

@@ -1,6 +1,7 @@
module Day2
import Prelude
import Node
Draw : U
Draw = Int × Int × Int
@@ -84,6 +85,7 @@ part2 (MkGame n parts :: rest) =
run : String -> IO Unit
run fn = do
putStrLn fn
text <- readFile fn
case mapM parseGame (split (trim text) "\n") of
Left err => putStrLn $ "fail " ++ err

7
aoc2023/Node.newt Normal file
View File

@@ -0,0 +1,7 @@
module Node
import Prelude
pfunc fs : JSObject := "require('fs')"
pfunc getArgs : List String := "arrayToList(String, process.argv)"
pfunc readFile : (fn : String) -> IO String := "(fn) => (w) => MkIORes(Unit, fs.readFileSync(fn, 'utf8'), w)"

View File

@@ -16,7 +16,7 @@
},
{
"name": "keyword.newt",
"match": "\\b(data|where|class|instance|case|of|let|if|then|else|forall|∀|in|U|module|import|ptype|pfunc|infix|infixl|infixr)\\b"
"match": "\\b(data|where|do|class|instance|case|of|let|if|then|else|forall|∀|in|U|module|import|ptype|pfunc|infix|infixl|infixr)\\b"
},
{
"name": "string.js",

View File

@@ -220,7 +220,6 @@ pfunc arrayToList : {a} → Array a → List a := "(a,arr) => {
}"
pfunc getArgs : List String := "arrayToList(String, process.argv)"
-- for now I'll run this in JS
pfunc lines : String List String := "(s) => arrayToList(s.split('\\n'))"
@@ -297,9 +296,6 @@ pfunc unpack : String -> List Char
}"
ptype Dummy
pfunc fs : Dummy := "require('fs')"
pfunc readFile : (fn : String) -> IO String := "(fn) => (w) => MkIORes(Unit, fs.readFileSync(fn, 'utf8'), w)"
foldl : {A B : U} -> (B -> A -> B) -> B -> List A -> B
foldl f acc Nil = acc
@@ -329,3 +325,7 @@ instance Ord Int where
printLn : {a} {{Show a}} a IO Unit
printLn a = putStrLn $ show a
-- opaque JSObject
ptype JSObject

View File

@@ -192,7 +192,7 @@ const SAMPLES = [
"Lists.newt",
"Day1.newt",
"Day2.newt",
"Lib.newt",
"Prelude.newt",
"TypeClass.newt",
"Combinatory.newt",
];

View File

@@ -220,7 +220,6 @@ pfunc arrayToList : {a} → Array a → List a := "(a,arr) => {
}"
pfunc getArgs : List String := "arrayToList(String, process.argv)"
-- for now I'll run this in JS
pfunc lines : String List String := "(s) => arrayToList(s.split('\\n'))"
@@ -297,9 +296,6 @@ pfunc unpack : String -> List Char
}"
ptype Dummy
pfunc fs : Dummy := "require('fs')"
pfunc readFile : (fn : String) -> IO String := "(fn) => (w) => MkIORes(Unit, fs.readFileSync(fn, 'utf8'), w)"
foldl : {A B : U} -> (B -> A -> B) -> B -> List A -> B
foldl f acc Nil = acc
@@ -329,3 +325,7 @@ instance Ord Int where
printLn : {a} {{Show a}} a IO Unit
printLn a = putStrLn $ show a
-- opaque JSObject
ptype JSObject