There are a few bugs related to caching, but the main ones are: The initial implementation of the underlying infrastructure: https://bugs.webkit.org/show_bug.cgi?id=192782 Initial C++ and Obj-C APIs:…
That's not all, there's the cost of (down)loading the dead code, and startup cost for loading the unoptimised cost. Even more critical when you consider environments where you can't JIT, like React Native on iOS for…
As usual, for fun and learning, but also to use the language and identify what is more critical to improve.
It was a lot of fun indeed! > What will Verve do well, that no (major) language does well? I'm always thinking about that, and I honestly wouldn't write a "proper" language (as in working on it full time, and expecting…
Have you read the blog post? It explains why I won't use LLVM and says that the interpreter is written in GAS x86_64. And I'm not "pitching my software", I'm sharing my side project, with a massive disclaimer that I'm…
I started with colons indicating the return type, but IMO it gets too confusing when you have functions as parameters. e.g. `foo(bar: (int, string): float): float` but that might be just personal preference.
It makes it easier to reason about a functions result, both when reading the code and when type checking.
`extern` means it's implemented in native, but it has to conform to the interface that the VM provides, and register that function with the VM. At runtime, the parser knows when a function is local (i.e. in the…
Right now it runs on its own VM. What I meant by "the VM is no longer necessary" was that the language went from being dynamic (when I was just prototyping with lisp) to static (in the current state), so it should be…
Fixed it, thanks!
That's not a dependency, that's a limitation: the interpreter is only implemented for one platform right now, but there's no reason why it shouldn't be possible to add support for a new platform without changing the…
I meant minimal as in the number of concepts it exposes, basically all you get are functions, (G)ADT + pattern matching and type classes.
Thanks for posting the errors, I'll get ubuntu running and look into it. It seems to be just the __unused annotations and the non-portable pthread call, so should be easy to get it working. :)
Thanks, indeed I didn't make any efforts to make it faster, but this seems fair... I honestly didn't know DataView was that slow, it got fibonacci(40) down to 1m53s. Faster than PERL according to…
There are a few bugs related to caching, but the main ones are: The initial implementation of the underlying infrastructure: https://bugs.webkit.org/show_bug.cgi?id=192782 Initial C++ and Obj-C APIs:…
That's not all, there's the cost of (down)loading the dead code, and startup cost for loading the unoptimised cost. Even more critical when you consider environments where you can't JIT, like React Native on iOS for…
As usual, for fun and learning, but also to use the language and identify what is more critical to improve.
It was a lot of fun indeed! > What will Verve do well, that no (major) language does well? I'm always thinking about that, and I honestly wouldn't write a "proper" language (as in working on it full time, and expecting…
Have you read the blog post? It explains why I won't use LLVM and says that the interpreter is written in GAS x86_64. And I'm not "pitching my software", I'm sharing my side project, with a massive disclaimer that I'm…
I started with colons indicating the return type, but IMO it gets too confusing when you have functions as parameters. e.g. `foo(bar: (int, string): float): float` but that might be just personal preference.
It makes it easier to reason about a functions result, both when reading the code and when type checking.
`extern` means it's implemented in native, but it has to conform to the interface that the VM provides, and register that function with the VM. At runtime, the parser knows when a function is local (i.e. in the…
Right now it runs on its own VM. What I meant by "the VM is no longer necessary" was that the language went from being dynamic (when I was just prototyping with lisp) to static (in the current state), so it should be…
Fixed it, thanks!
That's not a dependency, that's a limitation: the interpreter is only implemented for one platform right now, but there's no reason why it shouldn't be possible to add support for a new platform without changing the…
I meant minimal as in the number of concepts it exposes, basically all you get are functions, (G)ADT + pattern matching and type classes.
Thanks for posting the errors, I'll get ubuntu running and look into it. It seems to be just the __unused annotations and the non-portable pthread call, so should be easy to get it working. :)
Thanks, indeed I didn't make any efforts to make it faster, but this seems fair... I honestly didn't know DataView was that slow, it got fibonacci(40) down to 1m53s. Faster than PERL according to…