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)"))