Comments (8)
Also discussed in #52.
from eo.
I think there should be a CPU or PC abstraction that handles all interoperability. It would basically force the EO developer to request that the host thread/PC/CPU/etc run some program with certain parameters. This way we don't bail monoglot programmers out, who really should be writing low-level code in other languages that are better suited for the job. In such case these programs are not packaged in the application itself as accessible libraries. They can be executable, cross-platform jars, that are packaged with the build files. They can be running processes on your typical OS. Shell scripts and the like. External/low-level processes in the EO platform should just be allowed to be registered, requested, and hooked during bootstrapping, but not actually apart of whatever container the EO application exists in.
For example, if you want to controls IOs on a RaspberryPi, create a little app in Java, C++, C, what have you. Where you may have to write imperative code for performance. Then just register a Process abstraction of the program (probably delivered with the build files) with the PC abstraction.
from eo.
Actually instead of PC, it should be OS. Or just write the whole thing for clarity "OperatingSystem". It operates the system, there is your "interop", you interact with the op.
from eo.
@alexpanov I don't really understand the "bug" here. What is wrong with our current README and what do you want us to fix? Check this out please: http://www.yegor256.com/2014/11/24/principles-of-bug-tracking.html
from eo.
@yegor256 fair question. The 'bug' here is that the README does not outline the position on interoperability with existing JVM libraries.
I am arguing that there needs to be at least some focus on it.
Otherwise, it is also acceptable to state that interoperability is not a goal/priority if it is the case.
from eo.
@alexpanov got it, but how is this ticket different from #52?
from eo.
@yegor256 I'd love to know that too =)
from eo.
@alexpanov we compile to Java now. Later, we'll have EO-to-Python and other languages.
from eo.
Related Issues (20)
- text.eo:313-315: Implement text.replaced object. This... HOT 3
- Replace `int` and `float` with `number` HOT 1
- `eo-maven-plugin` allows attributes without names in an abstract object HOT 10
- Dataized.java:54-57: It is necessary to call {@link... HOT 2
- Dataized.java:64-67: It is necessary to call {@link... HOT 2
- PhDefault.java:65-68: It is necessary to call {@link... HOT 2
- PhTraced.java:50-53: It is necessary to call {@link... HOT 2
- Too many nested function calls HOT 9
- `xmir-to-phi` doesn't check PHI labels HOT 2
- Unable to compile "Hello World" program from README HOT 13
- Can't print simple string HOT 6
- XMIR representation of an alias? HOT 4
- How to print a small part of XMIR to EO? HOT 3
- PhiMojo doesn't fail on invalid identifiers HOT 2
- `UnphiMojo` can't parse `ΞΎ()` HOT 6
- package all `.eo` files from `eo-runtime/src/test/eo/` into a new JAR also released to Maven Central
- Does `UnphiMojo` (or `PhiMojo`) remove `metas`? HOT 12
- The 'console.write' should have written to posix console, but it didn't HOT 5
- `org.eolang.SnippetTestCase` failes in rultor
- DepsMojo log output is non informative
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 eo.