Comments (5)
This is one of the things that I wanted to implement earlier, but, invoking compiled functions from native Go code is a bit challenging. Maybe not in the near term, but, I will definitely revisit this feature in the future version. I know that's not what you wanted, but, you can always write map/reduce functions in Tengo and use them via modules, if that works.
from tengo.
Thanks, I'll give it a try. Perhaps I'll fork it and give it a go. I'll need to do that since "machine" is private to a Compiled.
Can I create a second machine, and run the function on that? how would I copy symbol table?
from tengo.
I'd say writing map/reduce functions in a module is better, but, if you want to experiment with running compiler/VM directly, my recommendation is to look at script.Script
and script.Compiled
code to see how they manage symbol table and global variables. More specifically this and this could be good starting points.
from tengo.
@kcsampson this functionality is now available in the tengo2
branch. The Callable
interface and CallableFunc
signatures have changed, so you might need to update your code to support that, but you will be able to call back to tengo code from go code provided you make the call from the same goroutine the VM is running on.
from tengo.
I'd like to know when this feature will be merged @mccolljr
from tengo.
Related Issues (20)
- Runtime panic on self assignment HOT 3
- Compiler Question: why invert token.Less to token.Greater HOT 1
- Add examples to the times library
- Sorting HOT 4
- a map with 10000 keys: panic: runtime error: index out of range [2048] with length 2048 HOT 4
- support context.Context in ToInterface and FromInterface
- provide compiled.CloneWithoutGlobals() or make compiled's fields accessible
- Is there a example on the use of `Regexp`
- VSCode Extention Support & Monaco-editor language support, EBNF is wanted.
- Does Tengo Playground support code format or code compress?
- [Performance Improvement] Using pool to avoid stack and frames memory allocation
- Any plan to add settrace() functionality to VM?
- Changing Owners? HOT 2
- Isolated VM possible ? HOT 2
- Ability to call a CompiledFunc from a UserFunc @kcsampson this functionality is now available in the `tengo2` branch. The `Callable` interface and `CallableFunc` signatures have changed, so you might need to update your code to support that, but you will be able to call back to tengo code from go code provided you make the call from the same goroutine the VM is running on. HOT 1
- Support for centralized configuration and shared variables in separate Tengo scripts HOT 1
- FromInterface support HOT 1
- bug:invalid jump position:0 HOT 13
- binaryop and equals diff HOT 1
- Lack of means to obtain vm context
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tengo.