Comments (4)
(I’m toying with the idea of writing an implementation in GraalVM, because the polyglot capabilities of that platform could be really useful for this.)
from abstracttext.
Yes, I think that is right.
One consideration was that one could internalize more than is currently internalized, and make the kernel simpler. For example, the kernel has currently a lot of validation code (and pulls in a whole JSON Schema validator in). Obviously, validation can be skipped in a first implementation, so that's not so dramatic.
One more thing in the kernel that needs to be implemented is probably a way to evaluate the JS implementations, or else the system will be too slow. That's a bit of ugly code that would benefit a lot from being internalized.
But yes, in the end it's about reading a single Z object and then evaluated it until a fix point is reached. Complementary is a parser to take a string and turn it into a Z Object (should be internalized anyway), and the linearizers have already been internalized, so that should come for free.
I keep this issue open for now to collect these conditions, and they should eventually move to the SPECIFICATION file.
Thank you so much for exploring this!
from abstracttext.
I think a bit more would need to be said about evaluation – technically, it’s part of the list in the task description, as Z100 is the “evaluate” builtin, but the actual Z100 builtin implementation does almost nothing besides delegate to a whole family of other functions. The list should probably mention the built-in evaluation functions for various types.
from abstracttext.
D'oh! I just realised that many of the builtins could be moved to be implementations, because, well, they could simply be JavaScript implementations. That's not true for all (I know Z100 and Z24 wouldn't), but most of the others should be internalizable.
I didn't do that from the beginning because there was no JavaScript implementation in the beginning, and I never cleaned it up.
from abstracttext.
Related Issues (15)
- How to handle transliteration in some languages? HOT 8
- Discussion - namespace of functions and other types HOT 3
- Cannot evaluate unlinearized (JSON) version of value(project_name) call HOT 4
- Representing types HOT 6
- new Dataset type (to apply functions over sets of tables) HOT 1
- editing? HOT 15
- value(true) and value(false) produce errors HOT 2
- ReferenceError in measure.js HOT 3
- Question about using named arguments with named references HOT 3
- JSON data table stays empty (Invalid argument supplied for foreach() in JsonContent.php) HOT 3
- Document meaning of alpha/beta functions HOT 15
- Infinite recursion in normal representation of type (Z1K1)? HOT 5
- Tests - status? HOT 2
- Special pages? HOT 28
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 abstracttext.