Commit Graph

270 Commits

Author SHA1 Message Date
Russ Cox
eaa92e027b Allow indexing of slice types, but not pointer to slice type.
Allow indexing of string type, but not pointer to string type.
Do not allow indexing of pointer to map type.

R=r
DELTA=18  (14 added, 0 deleted, 4 changed)
OCL=30586
CL=30754
2009-06-25 14:43:55 -07:00
Russ Cox
94439982b6 Effective Go; draft
TBR=r
OCL=30741
CL=30741
2009-06-25 09:38:35 -07:00
Robert Griesemer
e2cb60b378 fix for conversion rule
R=rsc
DELTA=25  (10 added, 7 deleted, 8 changed)
OCL=30516
CL=30531
2009-06-19 13:03:01 -07:00
Robert Griesemer
db7a6221e9 raw strings may span multiple lines
R=r
DELTA=7  (2 added, 0 deleted, 5 changed)
OCL=30492
CL=30494
2009-06-18 13:51:14 -07:00
Robert Griesemer
cfe9211753 - removed duplicate definition of StringLit
- fixed nonsense sentence in numeric basic type section
- hlinted

R=r,rsc
DELTA=50  (10 added, 22 deleted, 18 changed)
OCL=30484
CL=30490
2009-06-18 13:29:40 -07:00
Robert Griesemer
3b576a7704 fix for incorrect type switch clause:
- nil is not a keyword
- type -> Type

R=rsc
DELTA=10  (4 added, 0 deleted, 6 changed)
OCL=30433
CL=30435
2009-06-17 14:31:33 -07:00
Russ Cox
6609d2f88d restructure makefiles, scripts to factor out O= logic.
remove a few hardcoded paths elsewhere too.

R=r,gri
DELTA=123  (44 added, 15 deleted, 64 changed)
OCL=29914
CL=29945
2009-06-05 10:59:55 -07:00
Rob Pike
6739b8d606 string([]int) is now implemented
R=rsc
DELTA=18  (10 added, 2 deleted, 6 changed)
OCL=29909
CL=29909
2009-06-04 16:51:47 -07:00
Russ Cox
9e0fec9c9c update Go tree to use new syscall package.
R=r
DELTA=713  (109 added, 386 deleted, 218 changed)
OCL=29707
CL=29722
2009-06-01 22:14:39 -07:00
Russ Cox
d83dc4f5c6 unary ^ update.
[]int -> string is already in the document.

DELTA=7  (1 added, 1 deleted, 5 changed)
OCL=29622
CL=29631
2009-05-29 16:04:16 -07:00
Rob Pike
65ec16b637 Automated g4 rollback of changelist 29478.
*** Reason for rollback ***

  these semicolons are necessary only because of a bug in 6g

*** Original change description ***

add missing semicolons in example

TBR=gri
OCL=29624
CL=29624
2009-05-29 15:46:03 -07:00
Rob Pike
c4a74b0b4a add missing semicolons in example
R=rsc
DELTA=5  (0 added, 0 deleted, 5 changed)
OCL=29475
CL=29478
2009-05-27 18:31:28 -07:00
Robert Griesemer
838cf124f0 key:value notation for composites
R=rsc
DELTA=106  (69 added, 9 deleted, 28 changed)
OCL=29203
CL=29254
2009-05-22 10:25:06 -07:00
Russ Cox
b89a54e5c6 new, stricter interface rule:
in x.(T) x cannot be a nil (uninitialized) interface variable.

remove TODO per discussion.

DELTA=3  (1 added, 1 deleted, 1 changed)
OCL=29123
CL=29134
2009-05-20 18:16:04 -07:00
Robert Griesemer
c1fd171d18 removed TODO
(new rules on type compatibility cover this already)

DELTA=2  (0 added, 2 deleted, 0 changed)
OCL=29094
CL=29096
2009-05-20 11:10:18 -07:00
Robert Griesemer
56809d0ade new method set rules
DELTA=63  (27 added, 6 deleted, 30 changed)
OCL=29065
CL=29091
2009-05-20 11:02:48 -07:00
Robert Griesemer
533dfd6291 New type compatibility rules:
- changed type equality to type compatibility, updated rules
- string literals have ideal string type
- conversion w/ relaxed type compatibilty

DELTA=123  (26 added, 22 deleted, 75 changed)
OCL=28763
CL=28780
2009-05-13 16:56:00 -07:00
Robert Griesemer
98b4f6ac38 cleanup of unsafe documentation
R=r
DELTA=19  (4 added, 7 deleted, 8 changed)
OCL=28723
CL=28732
2009-05-12 21:37:46 -07:00
Russ Cox
918afd9491 move things out of sys into os and runtime
R=r
OCL=28569
CL=28573
2009-05-08 15:21:41 -07:00
Rob Pike
df46b3342c update tutorial text to refer to io.Reader etc.
R=rsc
DELTA=15  (0 added, 5 deleted, 10 changed)
OCL=28526
CL=28532
2009-05-08 11:21:25 -07:00
Rob Pike
fb24d792da update spec to io.Writer
R=rsc
DELTA=1  (0 added, 0 deleted, 1 changed)
OCL=28528
CL=28531
2009-05-08 11:21:20 -07:00
Robert Griesemer
1a304e1d93 - document string([]int{...}) conversion
- cleanup of open issues section

R=r
DELTA=31  (12 added, 9 deleted, 10 changed)
OCL=28450
CL=28513
2009-05-08 10:25:06 -07:00
Robert Griesemer
4f18549c02 clarifying ambiguity of evaluation order
R=r
DELTA=16  (0 added, 3 deleted, 13 changed)
OCL=28133
CL=28178
2009-05-01 17:00:16 -07:00
Robert Griesemer
ce9fbdbee0 typo in spec
R=tgs
DELTA=1  (0 added, 0 deleted, 1 changed)
OCL=28032
CL=28032
2009-04-29 11:45:08 -07:00
Robert Griesemer
88a0c4071d fixed typo in EBNF of ENBF
R=iant
DELTA=1  (0 added, 0 deleted, 1 changed)
OCL=27801
CL=27806
2009-04-23 14:42:21 -07:00
Robert Griesemer
40d6bb5969 - book-keeping in the TODO section:
- removed closed, resolved, or off-the-table items
  - consolidated remaining items
- no changes to the spec

R=r
DELTA=116  (1 added, 102 deleted, 13 changed)
OCL=27596
CL=27640
2009-04-20 15:32:20 -07:00
Rob Pike
2a1683a007 spec change for redeclaration
R=iant,gri
DELTA=14  (14 added, 0 deleted, 0 changed)
OCL=27615
CL=27618
2009-04-19 20:04:15 -07:00
Rob Pike
aaf63f8d06 Step 1 of the Big Error Shift: make os.Error an interface and replace *os.Errors with os.Errors.
lib/template updated to use new setup; its clients also updated.

Step 2 will make os's error support internally much cleaner.

R=rsc
OCL=27586
CL=27586
2009-04-17 00:08:24 -07:00
Russ Cox
bcdc247f28 spec edits for array slice change
R=r
DELTA=6  (0 added, 2 deleted, 4 changed)
OCL=27532
CL=27582
2009-04-16 23:06:48 -07:00
Rob Pike
55faa5f10e fix one word for consistency.
R=gri
OCL=27543
CL=27543
2009-04-15 21:49:50 -07:00
Rob Pike
dfff1829d4 update tutorial for new slicing rules.
R=rsc
DELTA=13  (6 added, 0 deleted, 7 changed)
OCL=27539
CL=27541
2009-04-15 20:53:07 -07:00
Rob Pike
b340879ce3 tweak grammar and associated prose to permit things like x.y in range clauses.
R=rsc
DELTA=5  (3 added, 0 deleted, 2 changed)
OCL=27536
CL=27540
2009-04-15 20:51:17 -07:00
Rob Pike
7aee71bd4f spec for range on strings
R=rsc,iant
DELTA=17  (11 added, 0 deleted, 6 changed)
OCL=27529
CL=27535
2009-04-15 20:28:25 -07:00
Russ Cox
60ce95d7a1 code changes for array conversion.
as a reminder, the old conversion
was that you could write

	var arr [10]byte;
	var slice []byte;
	slice = arr;

but now you have to write

	slice = &arr;

the change eliminates an implicit &, so that
the only implicit &s left are in the . operator
and in string(arr).

also, removed utf8.EncodeRuneToString
in favor of string(rune).

R=r
DELTA=83  (1 added, 23 deleted, 59 changed)
OCL=27531
CL=27534
2009-04-15 20:27:45 -07:00
Rob Pike
c956e90913 add a section about order of evaluation
DELTA=32  (29 added, 2 deleted, 1 changed)
OCL=27197
CL=27469
2009-04-14 20:10:49 -07:00
Rob Pike
736a1aeb81 an attempt at simpler yet more correct semicolon rules.
(i'd be happy to drop the paren one as well, reducing it to one case)

DELTA=4  (0 added, 3 deleted, 1 changed)
OCL=27058
CL=27060
2009-04-02 23:03:41 -07:00
Rob Pike
f538760552 fix last 3 references to 'type guards'
R=gri
DELTA=3  (0 added, 0 deleted, 3 changed)
OCL=26908
CL=26908
2009-03-30 16:08:41 -07:00
Robert Griesemer
c5c577c1ff - minor tweak to composite literal production:
renamed PairExpr -> KeyValueExpr and PairExprList -> KeyValueList
(to match corresponding nodes in AST per rsc' suggestion)

- added a couple of TODOs

R=r,rsc
DELTA=10  (2 added, 0 deleted, 8 changed)
OCL=26837
CL=26840
2009-03-27 13:43:28 -07:00
Robert Griesemer
62fd90ab76 use FunctionType in FunctionLit production
R=r
DELTA=1  (0 added, 0 deleted, 1 changed)
OCL=26738
CL=26753
2009-03-25 13:58:44 -07:00
Rob Pike
21d03496e7 add some words (written by rsc) about the state of typed constants.
DELTA=31  (31 added, 0 deleted, 0 changed)
OCL=26709
CL=26716
2009-03-24 19:16:42 -07:00
Rob Pike
1141716c5c change notation: s/Stat/Stmt/ in grammatical productions
DELTA=26  (0 added, 0 deleted, 26 changed)
OCL=26703
CL=26705
2009-03-24 17:45:53 -07:00
Rob Pike
94b67eb8d8 delete incorrect, dreg example of select on type
R=gri,rsc
DELTA=48  (28 added, 11 deleted, 9 changed)
OCL=26630
CL=26701
2009-03-24 17:40:47 -07:00
Rob Pike
482cbb1f33 change file name so it can be copied without name change to a more public place.
R=rsc
DELTA=1090  (545 added, 545 deleted, 0 changed)
OCL=26629
CL=26629
2009-03-22 21:53:40 -07:00
Rob Pike
afee1c5f0c add simple text about & and *.
clean up html: PLEASE RUN TIDY WHEN YOU EDIT THIS DOCUMENT
deferring method value update until we decide what happens.

R=gri
DELTA=50  (38 added, 4 deleted, 8 changed)
OCL=26609
CL=26612
2009-03-20 17:41:25 -07:00
Rob Pike
2a5af744a6 fix wording of &T{x}
R=rsc
DELTA=5  (0 added, 2 deleted, 3 changed)
OCL=26607
CL=26607
2009-03-20 17:03:48 -07:00
Robert Griesemer
091cba8d03 minor adjustments to switches text
R=r
DELTA=16  (5 added, 1 deleted, 10 changed)
OCL=26530
CL=26543
2009-03-19 08:39:40 -07:00
Rob Pike
37ab838d3a &Foo{x,y} wasn't in the spec. This gets it in, dependent on a proper section regarding
address operators, to follow.

R=rsc
DELTA=11  (10 added, 0 deleted, 1 changed)
OCL=26529
CL=26532
2009-03-18 22:58:36 -07:00
Rob Pike
70c1a106e6 drop the ,ok switch; keep the straight type switch.
R=rsc,gri
DELTA=97  (26 added, 42 deleted, 29 changed)
OCL=26436
CL=26527
2009-03-18 19:23:59 -07:00
Rob Pike
bdbb3b455e remove print() from the tutorial, generating a little clumsiness around "import"
R=rsc,gri
DELTA=103  (36 added, 33 deleted, 34 changed)
OCL=26442
CL=26491
2009-03-18 14:09:16 -07:00
Rob Pike
5a5784977a type switches
R=rsc,gri
DELTA=107  (90 added, 1 deleted, 16 changed)
OCL=26420
CL=26427
2009-03-17 16:48:35 -07:00