Can we use GHC API or something else to load not text source modules, but AST expressions, similar to haskell-src-exts Exp type? This way we could save time for code generation and parsing.
Dynamic loading of Haskell abstract syntax expression
278 Views Asked by modular At
1
There are 1 best solutions below
Related Questions in HASKELL
- Cabal sandbox is using a global dependency. Could not resolve
- Haskell lens: let binding of Traversal'
- How can I parse fixed-length, non-delimited integers with attoparsec?
- Pipeline-like operation using TChan
- compile-time vs. run-time cost of Hamlet templates
- Date-time package in haskell - error in the current one, can't find an analog
- How does one debug infinite recursion in Haskell?
- Force GHC using local files
- List with random numbers in Haskell
- Changes in other elements based on listbox selections in threepenny-gui
- Multithreading and gtk2hs
- Operator section for applicative with <$> and <*>
- Unable to create a custom header to use it in "withManager"
- How do I reuse an intermediate value in chain of Haskell Either binds?
- Haskell, Tree problems
Related Questions in DYNAMIC-LOADING
- Using imp.load_source to dynamically load python modules AND packages
- Embarcadero C++Builder: Transitive project dependencies and includes?
- Contiki - Run-time linking of a loadable module containing reference to another loadable module is possible?
- Resolving symbols differently in different dynamically loaded objects
- How can a shared library know where it resides?
- C# loading assemblies dynamically is very slow
- Cant access C# static class
- Poco AsyncChannel does not exit on forked process exit
- Load and unload external stylesheets dynamically in AngularJS application
- Dynamic loading under GHCi
- Dynamic loading and weak symbol resolution
- Kendo -UI : Show / hide grid programmatically if the checkbox is checked (clicked)
- Maintain scrollTop while inserting new sections above the current viewed elements (without glitching)
- Dynamic loading of Haskell abstract syntax expression
- "No matching function for call" with variadic templates
Related Questions in GHC-API
- Using the GHC API to do a "dry run" of code compilation
- Can I compile a haskell function from a string at runtime (using plugins)?
- Dynamic loading of Haskell abstract syntax expression
- Compiling to GHC Core
- GHC API equivalent of adding a C/C++ file/object to the compilation
- Implementation tips for whole-program static analysis for Haskell
- Haskell, GHC 8: dynamically load/import module
- Evaluation of Haskell Statements/Expressions using GHC API
- Treating a String as a Haskell Program
- Is it possible to generate and run TemplateHaskell generated code at runtime?
- How to compile Haskell into the untyped lambda calculus (or GHC core)?
- Infer type of a string containing a Haskell expression
- Determine ModuleName of loaded target
- Finding cabal packages when using the GHC API
- Why cannot top level module be set to main in Hint
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
I don't think the GHC API exposes an AST interface (could be wrong though), but Template Haskell does. If you build expressions using the
Language.Haskell.THExpstructure, you can create functions/declarations and make use of them by the$(someTHFunction)syntax.A fairly major caveat is that TH only runs at compile time, so you would need to pre-generate everything. If you want to use TH at run-time, I think you'd need to pretty-print the template haskell AST, then use the GHC API on the resulting string.