e6464dbe5c
commit 94803421acd2e5cb3a0f88e10f9244d374fab20b Author: Umur Ozkul <umur@hightechmind.io> Date: Mon Aug 22 08:48:33 2022 +0200 note on old habbits commit 2c47f80fce8fa6c12cb53b97f7150758eaa74b88 Author: Umur Ozkul <umur@hightechmind.io> Date: Mon Aug 22 08:18:16 2022 +0200 getTag returns enum value commit 733b9a820f1d01b618708896451a112d638ee811 Author: Umur Ozkul <umur@hightechmind.io> Date: Mon Aug 22 07:07:30 2022 +0200 result commit 64698f4a930182b3ccf122849824e4b6df251a9f Author: Umur Ozkul <umur@hightechmind.io> Date: Mon Aug 22 06:48:30 2022 +0200 return tags as ts enum commit 8ac802428a7aaac5367f5e8a9aaa592b89e305eb Author: Umur Ozkul <umur@hightechmind.io> Date: Mon Aug 22 06:16:26 2022 +0200 export tags commit 6c843e475a98ca1fcfa893d09d45ac9ad7c633ee Author: Umur Ozkul <umur@hightechmind.io> Date: Mon Aug 22 06:11:00 2022 +0200 distribution tag commit 9a43ec30fcaf967a672475431243949748d00bc7 Author: Umur Ozkul <umur@hightechmind.io> Date: Mon Aug 22 05:46:24 2022 +0200 opaque result commit f89bdd47c41135135baac99b18faf1c418cc4142 Author: Umur Ozkul <umur@hightechmind.io> Date: Mon Aug 22 05:24:18 2022 +0200 make ts compilable commit 6609bb3691b08405639e6f20da0fad309f2f232e Author: Umur Ozkul <umur@hightechmind.io> Date: Mon Aug 22 05:21:34 2022 +0200 compiles commit bace3eca63079de8f285069c65b219601e7310bf Author: Umur Ozkul <umur@hightechmind.io> Date: Mon Aug 22 04:33:34 2022 +0200 rescript compiles commit cd095f605c543902edec08fdcd407600296ec0cb Author: Umur Ozkul <umur@hightechmind.io> Date: Mon Aug 22 02:40:31 2022 +0200 squiggleValue commit 9b78b5d6c8b69287458fe392f142ceb3bca99407 Author: Umur Ozkul <umur@hightechmind.io> Date: Mon Aug 22 02:37:11 2022 +0200 project commit 20c8693b1eb6492f1662bedbb26b469aac11f8ff Author: Umur Ozkul <umur@hightechmind.io> Date: Mon Aug 22 00:59:44 2022 +0200 compiles |
||
---|---|---|
.. | ||
Reducer_Bindings | ||
Reducer_Dispatch | ||
Reducer_Expression | ||
Reducer_Extra | ||
Reducer_Js | ||
Reducer_MathJs | ||
Reducer_Peggy | ||
Reducer_Type | ||
README.md | ||
Reducer_ErrorValue.res | ||
Reducer_Exception.res |
To interface your library there only 2 files to be modified:
-
Reducer/ReducerInterface/ReducerInterface_ExpressionValue.res
This is where your additional types are referred for the dispatcher.
-
Reducer/ReducerInterface/ReducerInterface_ExternalLibrary.res
This is where dispatching to your library is done. If the dispatcher becomes beastly then feel free to divide it into submodules.
The Reducer is built to use different external libraries as well as different external parsers. Both external parsers and external libraries are plugins.
And finally try using Reducer.eval to how your extentions look:
test("1+2", () => expectEvalToBe( "1+2", "Ok(3)"))