Git Product home page Git Product logo

Comments (4)

lucaswerkmeister avatar lucaswerkmeister commented on April 25, 2024

(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.

vrandezo avatar vrandezo commented on April 25, 2024

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.

lucaswerkmeister avatar lucaswerkmeister commented on April 25, 2024

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.

vrandezo avatar vrandezo commented on April 25, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.