Code Monkey home page Code Monkey logo

Comments (7)

 avatar commented on July 20, 2024

As for the standard libraries part: Standard-Libraries

from tengo.

d5 avatar d5 commented on July 20, 2024

Thanks for the kind words and the HackerNews share. But I'm not sure if Tengo's ready for HN 😄

Let me try to answer your questions, but, please know that Tengo is fairly new and there are tons of things to add going forward.

  • Language-level support for concurrency is something I need to think about. Tengo was not to replace something entirely. (Maybe in the far future..?) So, honestly, I don't have a clear plan for this, but, I'm always open to ideas/proposals.
  • I've been focusing on implementing the cores, and, didn't really spend enough time on documentations and examples. But I plan to add more and more. Also please shoot me an email or create an issue if something doesn't work. (Also, I don't know that's the issue or not, but, note that you should use double quotes (") for strings.)
  • This may change (or extended) in the future, but, currently a file correspond to a module that can be imported to other scripts/modules. And each module gets not just their own namespace but also their own VM actually. And the importing script (code calling import()) get the global variables of the module as an immutable map object.
  • Interoperability is critical as an embedded language for sure. There are couple different ways for doing it, but, currently the easiest way is to implement objects.Object interface and use it in the same way as other primitive types. (See Counter example code in README.) I'm planning to add more interoperability features, and, like always, challenging part is to make it work without losing any performance.
  • Compiling native executables is in the development roadmap. Currently you can use tengo CLI tool (which can be built cross-platform) to compile and run the binaries. It's like you use java or python to run their source or binaries in the platform agnostic way.
  • Benchmark in README unless you mean something else.

from tengo.

stefanos82 avatar stefanos82 commented on July 20, 2024

As for the standard libraries part: Standard-Libraries

Thank you @mdbazuin, that's good to know 😃

from tengo.

stefanos82 avatar stefanos82 commented on July 20, 2024

Thanks for the kind words and the HackerNews share.
But I'm not sure if Tengo's ready for HN smile

I'm sure it does. One person that commented on it and said "I do like this idea though and think I have an application for it", so there you have it.

Let me try to answer your questions, but, please know that Tengo is fairly new
and there are tons of things to add going forward.

* Language-level support for concurrency is something I need to think about. 

Tengo was not to replace something entirely. (Maybe in the far future..?)
So, honestly, I don't have a clear plan for this, but, I'm always open to ideas/proposals.

By concurrency I mean using all the CPU cores,

No need to replace anything, more and more languages pop up like mushrooms, but none of them performs as fast as Tengo. People love speed and readability.

So, since Tengo has both, why not use it as a standalone language?

  • I've been focusing on implementing the cores, and, didn't really spend
    enough time on documentations and examples.
    But I plan to add more and more. Also please shoot me an email or
    create an issue if something doesn't work.
    (Also, I don't know that's the issue or not, but, note that you should use double quotes (") for strings.)

I think we need more examples about the proper usage of Tengo, because it's not clear yet how it should be used.

* This may change (or extended) in the future, but, currently a file correspond to 

a module that can be imported to other scripts/modules. And each module gets not
just their own namespace but also their own VM actually. And the importing script
(code calling import()) get the global variables of the module as an immutable map object.

Ah I see, this is clearer now.

* Interoperability is critical as an embedded language for sure. 

There are couple different ways for doing it, but, currently the easiest way is to implement
objects.Object interface and use it in the same way as other primitive types.
(See Counter example code in README.) I'm planning to add more interoperability features,
and, like always, challenging part is to make it work without losing any performance.

Yeah, I understand.

  • Compiling native executables is in the development roadmap.
    Currently you can use tengo CLI tool (which can be built cross-platform) to compile
    and run the binaries. It's like you use java or python to run their source or binaries
    in the platform agnostic way.

Awesome! I can't wait to use it 😃

* [Benchmark](https://github.com/d5/tengo#benchmark) in README 

unless you mean something else.

By benchmarks I mean something like https://benchmarksgame-team.pages.debian.net/benchmarksgame/

from tengo.

d5 avatar d5 commented on July 20, 2024

@stefanos82 I'm curious to know what you think of roadmap that I had updated recently. Any feedback/thoughts would be appreciated.

from tengo.

stefanos82 avatar stefanos82 commented on July 20, 2024

A dream coming true! Go for it 👍

from tengo.

d5 avatar d5 commented on July 20, 2024

Great. I will close this issue then. Thanks for the help!

from tengo.

Related Issues (20)

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.