5 ms·
Not published yet. Perhaps the author considers publishing prematurely to be more hassle than its worth?
by asplake 7y ago
Not published yet. Perhaps the author considers publishing prematurely to be more hassle than its worth?
- lifthrasiir 7y agoIf it's the intention, the author surely has been misguided. A drama is already happening (for example, [1]). While I think it is technically possible to deliver all of them (it should be noted that it is not exactly an optimizing compiler, which makes many things easier), it is natural and understandable that people doubt its premise before the full release. [1] https://github.com/vlang/v/issues/35 https://github.com/vlang/v/issues/35
- amedvednikov 7y agoI'd hardly call it a drama. Claims like it's not possible to build features without AST or codegen json decoders are just ridiculous.
- gingerBill 7y agoThat is not what I stated in the issue. For the kind of features that you wanted in your language, not just generics, requires a form of AST (abstract syntax tree), and if you language does not have an AST, which is technically possible, then you cannot have a lot of the features you have been advertising.
- lifthrasiir 7y agoI should stress that that is also your misconception. For example, you can implement generics without an AST if you don't care about performance; codegen can either output a single binary mandatorily requiring a sort of vtable (therefore every parametric code will be indirected), or output a partial binary with holes where holes will be patched later (much faster but disallows optimization across hole boundaries). You should have framed your question as follows: those features can be implemented without an AST, but an AST is a standard and reasonable way to do them and not using an AST would require a strong rationale. So what's that rationale? (And amedvednikov, this is my question for you.)
- amedvednikov 7y agoNo you don't understand :) It's IMPOSSIBLE without AST. The Odin creator says so. That's why I'm a liar. V simply generates functions for every type they're used with.
- lifthrasiir 7y ago> V simply generates functions for every type it's used with. So you have a "template" function as written in the source code and a list of actual functions generated. You can either generate them as a final step or on the fly as you encounter; in either ways you probably have a mapping from the function name to the function body or something similar. How is that stored?
- deleted 7y ago[deleted]
- deleted 7y ago[deleted]
- olliej 7y agoBut producing a flashy website is not?