From e6873458facadea0dfb228bb33291d6baf68c427 Mon Sep 17 00:00:00 2001 From: Rutger Broekhoff Date: Tue, 26 Aug 2025 00:35:27 +0200 Subject: Basic import seems to be working --- bin/main.ml | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) (limited to 'bin/main.ml') diff --git a/bin/main.ml b/bin/main.ml index 7bf6048..1c6c6c9 100644 --- a/bin/main.ml +++ b/bin/main.ml @@ -1 +1,39 @@ -let () = print_endline "Hello, World!" +open Core +module Time_ns = Time_ns_unix + +module List = struct + include List + + let map_result ~(f : 'a -> ('b, 'c) result) : 'a list -> ('b list, 'c) result + = + let open Result.Let_syntax in + let rec go = function + | [] -> return [] + | x :: xs -> + let%map x' = f x and xs' = go xs in + x' :: xs' + in + go +end + +module Result = struct + include Result + + let unwrap = function + | Error _ -> failwith "Result.unwrap: unexpected (Error _)" + | Ok v -> v +end + +let () = + let ams_tz = Time_ns.Zone.find_exn "Europe/Amsterdam" in + let prim_txs = + In_channel.with_file ~binary:true "test.csv" + ~f:(Rdcapsis.Ingcsv.read_channel ~ams_tz) + |> Result.unwrap + in + let euc_id = "EUC" in + let ledger = + List.map_result ~f:(Rdcapsis.Convert.les_from_current_acc euc_id) prim_txs + |> Result.unwrap |> List.concat + in + print_endline (Sexp.to_string_hum ([%sexp_of: Rdcapsis.Ledger.t] ledger)) -- cgit v1.2.3