Comments (5)
Cleaned up & updated the document, also contains some queries about Volt vs D, feature and minor syntax ideas.
Please let me know if you don't like reading Google docs, I could port it to something else. I realise you probably have your own designs for some of my items - would like to see them :-)
from volta.
Google docs works, I a bit busy right now so I haven't been able to comment, sorry.
Some quick stuff:
- Heap closures should use new keyword
Yes I agree fully, one of the goal of Volt is that if something uses the gc there should be a new keyword there. - Shorten immutable keyword or use let for locals
Yeah shorter keywords is also something we are looking into. - Remove or limit comma op to void expressions
Comma exp is already gone, its special cased infor
,foreach
& friends. - Bool should not be integer: overloading problems
I dunno about this, forcingcast(int)boolVar
to do math on bools seems iffy. But I wonder what such a rule would change. Maybe you could try to write a patch and see whats happens? - Struct zero arg runtime ctors? Struct dtors, RAII yes?
I don't know if we want ctors and dtors for structs, we currently don't have them. There is a quite a bit of rules, corner cases for them and compiler support overhead. Then again the compiler code will be there for reference counting. - Ref counting in library?
Leaning towards making them a inbuilt feature of the language.
Are some of the quick ones. Some of the changes you can try implementing yourself in the compiler, we are happy to answer questions.
from volta.
No problem, I was busy yesterday after posting here :-) Thanks for the reply.
forcing cast(int)boolVar to do math on bools seems iffy
I think bool can implicitly convert to integer, but integer literals 0 and 1 should prefer proper integer overloads including long rather than a bool overload. See:
https://issues.dlang.org/show_bug.cgi?id=9999
I might have a look at the source for Volta and maybe implement some minor ideas, I've not tried to work on type system code before but who knows, possibly ;-)
I don't know if we want ctors and dtors for structs
OK, not having dtors might scare some C++ folks, but if we have scope (exit) and macros maybe that's enough, not sure. I appreciate it does make things simpler.
from volta.
I think bool can implicitly convert to integer, but integer literals 0 and 1 should prefer proper integer overloads including long rather than a bool overload. See:
https://issues.dlang.org/show_bug.cgi?id=9999
Oh I see, I tested it and because you can't implicitly convert 0 and 1 to bool the long version is prefered. I don't think we want to implicitly convert 0 and 1 to bools at all so I think we should leave it at that.
Added test cases to our tester, see: VoltLang/Tesla@692e454
I might have a look at the source for Volta and maybe implement some minor ideas, I've not tried to work on type system code before but who knows, possibly ;-)
Even tho this wasn't issue feel free to try it out. Currently it isn't that easy to get started with Volt, but are willing to help out if you want to. We have a getting started guide here: http://www.volt-lang.org/doc/setup/volta.html
I don't know if we want ctors and dtors for structs
OK, not having dtors might scare some C++ folks, but if we have scope (exit) and macros maybe that's enough, not sure. I appreciate it does make things simpler.
I'm not sure myself, it hides whats actually going on where as scope (exit) is more explicit. But having a familiar environment for C++ folks is something good. It needs to be thought about.
from volta.
I don't think we want to implicitly convert 0 and 1 to bools at all so I think we should leave it at that. Added test cases to our tester
Great :-)
are willing to help out if you want to. We have a getting started guide
Thanks.
from volta.
Related Issues (20)
- Volt vs D HOT 7
- Volt site CMS HOT 1
- Safe int HOT 2
- take ideas from Julia and Nim languages HOT 12
- Does Volta need foreach_revese? HOT 6
- Change logical operators to word HOT 1
- Feature modular/configurable runtime HOT 6
- Why is separating class ind struct is bad? HOT 6
- Coming from D guide HOT 9
- About Volta web site
- Pattern matching HOT 1
- Function decorator bloat HOT 13
- Distribute the compiler with all dll that are needed HOT 1
- error: No valid LLVM Toolchains found! HOT 5
- is Volt development stopped ? HOT 2
- Build failed (macOS) [can be fixed] HOT 9
- Volt is BROKEN and should be fixed HOT 2
- main.volt:1:1: error: can't find module 'core.compiler.defaultsymbols'.
- error while building hello file from Getting Set Up HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from volta.