Comments (6)
Do you suggest to add a syntax for object oriented language in SARL file?
from sarl.
Yes, as we need to mix oriented object and agent programming in SARL it could be interesting to offer the possibility to create an object in sarl.
from sarl.
I think a good approach will be to import the Xtend grammar and adapt it to your specific syntax (variable definition...). Currently, it is mostly in this way by extending the Xbase, which is providing the support for expressions.
The question is: do we want to depend on Xtend?
from sarl.
I am not sure that we should have a mixed OOP and AOP in SARL files. I rather have Xtend files for OOP and SARL for AOP. I use Xtend since its syntax is closer to SARL.
This enables programmers to use any OO programming language they want for OOP as long as it is compatible with java (Xtend, Scala, groovy, etc)
What do you think?
from sarl.
I think we could provide the ability to the SARL developers to define OO data structures inside the context of the SARL agent. It is similar to the definition of inner classes in this context.
A typical example is the definition of the states of an agent in an enumeration type. It is not friendly to define the enumeration outside the agent in Java (or any other language). Since the states of the agents are only related to the agent, they should be accessible by other classes or agents. The inner definition in the agent may provide a solution to this small problem.
from sarl.
Additionally,supporting some OO statements (I'm not sure we should support all the OO syntax; we should decide) has a couple of advantages:
- Make easier and faster to code in SARL (all in one file).
- The developer could only know SARL; no need for mastering another language.
- By including some OO features, we could benefits from the tools provided by Xtend (validator, etc.) that may provide partial answers to the SARL issues related to inheritance.
A recent example of integration of OOP and AOP is Scala and its actor extension.
from sarl.
Related Issues (20)
- Eclipse error on the editor state. HOT 1
- Use MutabilityDetector for implementing the SARL function purity detector.
- Stack overflow in Eclipse IDE.
- Generate a product for MacOS ARM
- Invalid build date in the Bundle property messages.
- Upgrade to Eclipse 2023-09
- Include BDI engine is SARL.
- Fix CodeQL configuration to compile SARL on the CI server.
- Typo error in sarl-maven-plugin
- Invalid function call resolution.
- Link to demos are not working from the website HOT 1
- Kernel logs are not displayed anymore HOT 2
- Create a sample project from welcome page does not work anymore HOT 1
- Invalid markdown rendering in FAQ.
- Damaged product for macOS HOT 3
- Specification and implementation of communication protocols
- ExecutorService vs Thread with task buffer.
- Use the new syntax of instanceof operator
- Use the 'var' declaration keyword in Java code
- Invalid agent parameter syntax 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 sarl.