Comments (3)
@Bitseat I appreciate you taking the steps to writing that issue, however I think we'll begin with a different road, that I'll explain below. But first let me make a few corrections
- I suppose by
(cog-execute! (Plus "Schema-i1" "Schema-i2")))
you mean(cog-execute! (Plus (Schema "i1" (Schema "i2"))))
, right? - To handle multiple arguments you'd use
(define (plus . args) ...
So now with my simpler suggestion:
Directly write the interpreter in C++, define in a recursive manner, in the spirit of the Combo' boolean_interpreter
and such, or Instantiator::execute()
(but much simpler since you don't need to support the whole Atomese vocabulary, say only Plus
, Times
, And
, Or
, Not
for starter).
Instead of using the representation
(Set
(List (Node "r1") (Number 1))
(List (Node "r2") (Number 1))
(List (Node "r3") (Number 0)))
use directly the list of output values using the proto atom FloatValue
, as suggested in #17 .
I know that this somewhat contradictory to what I had suggested before, and it is because it ignores the reasoning aspect. However I think it's a better road to take. First it will give us a very efficient Atomese interpreter (possibly even more efficient than Combo's if subprogram memoization is enabled), and reasoning capabilities can be added later on (using the kind of representation I have initially suggested) when the port has reached the desired level of maturity.
from asmoses.
I was particularly concerned about the reasoning aspect because I wanted to be sure the decisions we take today are compatible with the long term vision, I see things more clearly now thus the change of plan for the interpreter.
from asmoses.
Thank you Nil. @kasimebrahim I hope this will give you some insight into the code you're writing.
from asmoses.
Related Issues (20)
- Atomese interpreter not needed!? HOT 5
- Grammar-guided program evolution HOT 7
- Failing unit tests in Ubuntu 22.04 HOT 1
- File tokenizer not respecting commas in CSV files HOT 7
- Some equivalent Atomese program representations for manipulation and evaluation HOT 2
- Loading data to AtomSpace HOT 10
- Data (like csv file content) representations in Atomese
- Efficient Table Representation HOT 3
- Subprogram Memoizer HOT 1
- Port Reduct HOT 7
- Replace MOSES by AS-MOSES in CMakeLists.txt
- CondLink design HOT 15
- libquery-engine.so: undefined reference to opencog::AtomSpace HOT 13
- pymoses.so -> pyasmoses.so? HOT 2
- Reduct design suggestions. HOT 4
- Add oc_to_string to help debugging HOT 3
- Python 3 support HOT 6
- Fix incorrect install paths HOT 1
- Splitting out the deme management part of the code into its own module? HOT 1
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 asmoses.