Slightly different from the language manual, I think it'd be good to have a place that summarizes your (@paperdave) design decsions, for stuff like no-null.
I'll try to keep this always-up-to-date (and it'll remain WIP nearly forever)
Key design goals:
Design decisions:
pub keyword) unlike python or C exportsSyntax decisions:
@ is special. Effectively a namespace for compiler-built-ins; @import, @extern, @"identifier"{} are for code.{} are for struct instantiation[] are for arraysOther features:
Unconfirmed desires:
Milestone: 0.2.0.
@ is for compiler built ins. .{} is for structs. I don't think we have "objects" yet in the JS sense (we probably need a map type cc @paperdave).
No dynamic weblang imports
yep.
No weblang-eval, only js eval
yep.
No https imports
not if I get my say, though it looks like dave is on-board with http imports
not if I get my say
Why???? Http imports are the only reason deno is even usable
Sorry I think the double negative was confusing here, I am pro-http import and I think dave is too.
Null doesn't exist as a value (** clarification needed IMO)
None might compile down to null but I think it's all fair game for optimization.
Oh okay. Well I made an issue for http imports anyways and moved it to the "desired" section
this document is essential, as i have already told many people that im driving all language design using objective reasoning; there is a reason for everything. however, documentation for that reasoning is missing, and it wouldn't belong in the manual i think. i think docs/design.md would be good
Another major thing: does WL have an export keyword?
WL's export is pub which is rust + zig use iirc.