Coder Social home page Coder Social logo

Implementing ETS about firefly HOT 9 OPEN

bcardarella avatar bcardarella commented on June 5, 2024 16
Implementing ETS

from firefly.

Comments (9)

bcardarella avatar bcardarella commented on June 5, 2024 1

@josuesantos1 sure!

from firefly.

bcardarella avatar bcardarella commented on June 5, 2024 1

I'll let @bitwalker weigh in on that

from firefly.

bcardarella avatar bcardarella commented on June 5, 2024 1

@hailelagi we'd welcome all contributions! @KronicDeth would be the best best to weigh in on this ticked I think

from firefly.

hailelagi avatar hailelagi commented on June 5, 2024 1

I see, thanks for the heads up! For now, I'd be fine with trying the library approach, and eventually when the runtime api is stable, doing a re-write, I don't mind honestly and looking forward to it :)

from firefly.

josuesantos1 avatar josuesantos1 commented on June 5, 2024

can i make this issue?

from firefly.

josuesantos1 avatar josuesantos1 commented on June 5, 2024

@ josuesantos1 com certeza!

I can call rets? (Rust-ets)

Can I change one thing or the other or does it need to be 100% equal to ets?

from firefly.

hailelagi avatar hailelagi commented on June 5, 2024

hi there! 👋🏽

I've been looking at lumen for a while, really great project! I wonder is the work on this issue still desired? If so I would love to take a stab at it, I've been actively learning rust and I'm fairly confident in my elixir - it might take me a few weeks but I'm pretty sure I can crack it. Thanks!

cc: @bitwalker , @bcardarella

from firefly.

bitwalker avatar bitwalker commented on June 5, 2024

@hailelagi There are a few things we need to get sorted internally with the runtime before we'll be ready to implement ETS, but I'm working hard to get that stuff done as soon as possible. I'll ping you here as soon as we're ready to begin implementation, and I'd be happy to let you work on that :).

The main outstanding things I'm working out are how runtime functions need to integrate with the garbage collector, and additionally how runtime functions should be written to support yielding during expensive operations. Both of those are tricky in Rust, so I'm researching an approach via async Rust that ideally will provide a uniform solution to both of those questions. The trouble with going too far with implementation until those are pinned down, is that they will have a very significant impact on the APIs and implementation of their functionality, so it's not really worth going too deep on it until then.

That said, if you wanted to take a crack at a standalone implementation of ETS in Rust, and then work on integrating that into the runtime once we're ready, that might be a viable approach for development - but I suspect that there will be so many runtime-specific idiosyncracies that you'd largely end up reimplementing most of it anyway.

from firefly.

bitwalker avatar bitwalker commented on June 5, 2024

See #8 as well

from firefly.

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.