tiarkrompf / lancet Goto Github PK
View Code? Open in Web Editor NEWsurgical precision JIT compilers
License: GNU Affero General Public License v3.0
surgical precision JIT compilers
License: GNU Affero General Public License v3.0
The README link to a draft paper is broken (permission error.)
Ability to dynamically change object's mixin characteristics would be helpful for implementing languages with dependent types.
Main issue with such schemes can be performance. So there should be a way to generate optimised byte code as well as optimise this translation.
If a there is a particular operations can be reasoned to be faster in a particular platform, the ability to specify particular strategy how a block of code translates to native code and optimised. If the running platform is not the actual platform then regular JIT is used.
In some language implementations you can reason over how GC can be done in a more efficient way (E.g. Erjang). In this context it would be helpful on being able to specify likely candidates for collection and perhaps groups of objects which will not hold references to other object groups.
In addition to be able to specify immutability and additional constraints on referencing (only referenced locally, escape).
In addition the ability to allocate outside the normal GC and specify own GC algo.
Also ability to specify a reference counting strategy in languages this is more plausible.
Is it possible to have have a way to specify quasi C++ style delete but a more safer way. Basically Grizzly (https://grizzly.java.net/) style memory management in the context of general memory management if you would have another crude analogy.
You can specify if a particular object and any containing objects to n level can be collected if they are not live.
Also ability to mark a class or individual fields on whether they escape or not and perhaps make this a compile time constraints.
Also some of the constraints currently in Lancet can be compile time checks than just JIT time checking.
Also is it possible to more to a more friendly license sooner than later.
Ability to support more types than the Java primitives like unsigned, IEEE 754 Quads, Decimal and Extended Precision, etc.
Also any type the user wants. If the underlying platform supports the type the JIT can emit a specified set of ASMs to handle the type or else can fall back to emulation algo in bytecode (written in Java or Hosted language).
When implementing objects who's type changes at run time due to state change accessing and updating current object references to a new object may be helpful. (#8)
Also would be helpful on other resource, memory management related issues.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.