1
0
mirror of https://github.com/golang/go synced 2024-11-25 06:17:58 -07:00
Commit Graph

371 Commits

Author SHA1 Message Date
Russ Cox
cf370a6206 add ./ to imports where necessary
R=r
DELTA=51  (4 added, 4 deleted, 43 changed)
OCL=30759
CL=30778
2009-06-25 20:13:56 -07:00
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
Rob Pike
e9f4fb2839 change the tutorial to use File, file rather than FD, fd.
also make the default input for makehtml be go_tutorial.txt.

R=rsc
DELTA=176  (58 added, 58 deleted, 60 changed)
OCL=26374
CL=26374
2009-03-16 22:53:23 -07:00
Robert Griesemer
dea4394a67 instead of unlabeled statements, have a single labeled statement
- no syntactic or semantic change

R=r
DELTA=45  (24 added, 18 deleted, 3 changed)
OCL=26349
CL=26368
2009-03-16 17:36:52 -07:00
Russ Cox
f8ba0f4511 mem.html: nit
go_spec.html: document const type propagation

R=ken
OCL=26223
CL=26225
2009-03-12 19:04:56 -07:00
Rob Pike
9b5d82327b s/expressios/expressions/
OCL=26222
CL=26222
2009-03-12 18:47:49 -07:00
Rob Pike
e20834092f weasel words about types in shift expressions suggested by rsc
R=rsc
OCL=26220
CL=26220
2009-03-12 18:40:07 -07:00
Rob Pike
ce9417ee1a fix language regarding type of numeric literals
R=rsc
DELTA=4  (0 added, 2 deleted, 2 changed)
OCL=26208
CL=26212
2009-03-12 17:08:47 -07:00
Rob Pike
307ec21932 what is the name for "&^". let's go with bit clear (and not)
R=rsc
DELTA=14  (0 added, 0 deleted, 14 changed)
OCL=26159
CL=26206
2009-03-12 15:53:56 -07:00
Rob Pike
0282719387 fix unqouted &
R=gri
OCL=26158
CL=26158
2009-03-11 22:02:18 -07:00
Rob Pike
cd04ec95ea bit clear: &^ and &^=
R=gri
DELTA=5  (3 added, 0 deleted, 2 changed)
OCL=26155
CL=26157
2009-03-11 21:59:05 -07:00
Rob Pike
ef1b9653dd conversions are mostly cleaned up; bring the spec in line.
R=gri
DELTA=31  (12 added, 18 deleted, 1 changed)
OCL=25974
CL=25976
2009-03-09 22:35:06 -07:00
Robert Griesemer
b813ee0e44 revert QualifiedIdent to old production
R=r
DELTA=1  (0 added, 0 deleted, 1 changed)
OCL=25732
CL=25777
2009-03-05 15:01:54 -08:00
Rob Pike
811dd2584c fix an HTML glitch.
say a little more about package main.

R=rsc
DELTA=7  (4 added, 0 deleted, 3 changed)
OCL=25725
CL=25725
2009-03-04 20:39:39 -08:00
Russ Cox
5958dd6f94 Suggested tweaks up to package section.
Major ones:
* Be consistent: "numeric type" and "arithmetic operator".
* if/swtch take "simple statement" not "short variable declaration".
* There was a comment that implied for x,y := range z() might
  evaluate z() multiple times.  I deleted it.

R=r,gri
DELTA=124  (24 added, 4 deleted, 96 changed)
OCL=25706
CL=25715
2009-03-04 17:19:21 -08:00
Russ Cox
461dd9126c change Go logo to link to home page
fix grammar for forward declaration of interface, struct.

move array down next to slice.

fix type equal example for structs.

R=r,gri
DELTA=247  (122 added, 114 deleted, 11 changed)
OCL=25694
CL=25704
2009-03-04 14:44:51 -08:00
Rob Pike
337ce2220f rephrase redundancy.
R=rsc
DELTA=1  (0 added, 0 deleted, 1 changed)
OCL=25652
CL=25656
2009-03-03 16:10:15 -08:00
Russ Cox
7a5e97ba91 The final piece of the alternative to my parens proposal
(i.e., the status quo with braces in composite literals).

DELTA=20  (16 added, 0 deleted, 4 changed)
OCL=25640
CL=25646
2009-03-03 15:40:30 -08:00
Russ Cox
be2edb5761 Automated g4 rollback of changelist 25024,
plus significant hand editing.

Back to T{x} for composite literals.

R=r
OCL=25612
CL=25632
2009-03-03 08:39:12 -08:00
Russ Cox
e8b43190bb clarify conversions vs type guards.
allow conversions between equal types.

R=r
DELTA=15  (4 added, 4 deleted, 7 changed)
OCL=25618
CL=25630
2009-03-03 08:10:25 -08:00
Rob Pike
da34bea950 redo poor example of slices.
R=rsc
OCL=25614
CL=25614
2009-03-02 20:17:12 -08:00
Rob Pike
da38974c88 address most of the editorial comments through "types"
R=rsc
DELTA=41  (9 added, 4 deleted, 28 changed)
OCL=25611
CL=25611
2009-03-02 19:13:40 -08:00
Rob Pike
426335f87b delete paragraph about unimplemented select-on-type feature.
change () to {} in all composite literals

DELTA=20  (0 added, 7 deleted, 13 changed)
OCL=25604
CL=25606
2009-03-02 17:52:52 -08:00
Rob Pike
4659685b8f Packages.
DELTA=170  (73 added, 21 deleted, 76 changed)
OCL=25556
CL=25594
2009-03-02 16:17:29 -08:00
Rob Pike
96750f130c most of the rest.
only the package section is untouched.

R=gri
DELTA=542  (186 added, 70 deleted, 286 changed)
OCL=25485
CL=25532
2009-02-27 16:47:48 -08:00
Rob Pike
df3183f528 finish types.
expressions.  (they were in pretty good shape; mostly cosmetic and HTML edits)

R=gri
DELTA=655  (226 added, 97 deleted, 332 changed)
OCL=25459
CL=25481
2009-02-26 16:37:23 -08:00
Robert Griesemer
f88c6c136c fixed a typo
R=r
DELTA=1  (0 added, 0 deleted, 1 changed)
OCL=25449
CL=25449
2009-02-25 16:58:57 -08:00
Rob Pike
8f2330dd7a Continue editing types section.
Do a little work polishing the "zero value" discussion.

R=gri
DELTA=486  (129 added, 120 deleted, 237 changed)
OCL=25392
CL=25444
2009-02-25 16:20:44 -08:00
Rob Pike
cdbf619750 complete types
R=gri
DELTA=29  (0 added, 12 deleted, 17 changed)
OCL=25388
CL=25391
2009-02-24 17:47:45 -08:00
Rob Pike
a49305df1d text and formatting are now folded into go_spec; delete
OCL=25292
CL=25383
2009-02-24 15:18:21 -08:00
Rob Pike
5af7de3fe3 Updated the section on Types.
Moved assignment compatibility to its own small section. Although most rules are type-specific,
some are not and it reduces redundancy to combine them.
Also, more experimentally, wrote a section on comparison compatibility.

R=gri
DELTA=382  (125 added, 122 deleted, 135 changed)
OCL=25355
CL=25382
2009-02-24 15:17:59 -08:00
Rob Pike
a9ed30ff37 Move Types before Declarations and Scopes.
This is the only change in this CL: only rearrangement, no content change, so subsequent edits will be easier to understand.

R=gri
OCL=25353
CL=25353
2009-02-23 19:26:07 -08:00
Rob Pike
f27e9f072d Work on declarations, unsafe, alignment.
Change <tt> to <code>

R=gri
DELTA=664  (222 added, 189 deleted, 253 changed)
OCL=25294
CL=25352
2009-02-23 19:22:05 -08:00
Rob Pike
ce2bc3aabc add logo to documentation directory.
R=rsc
OCL=25293
CL=25293
2009-02-22 15:39:50 -08:00
Russ Cox
82c38cf8dd draft of memory model.
R=tgs
DELTA=545  (545 added, 0 deleted, 0 changed)
OCL=25212
CL=25268
2009-02-20 15:35:20 -08:00
Rob Pike
ff70f09d27 Rewrite lexical section.
Put grammar productions into a box with a separate background color.

R=gri
DELTA=397  (132 added, 49 deleted, 216 changed)
OCL=25235
CL=25258
2009-02-20 13:36:14 -08:00
Rob Pike
fd1f3830c1 autogenerate the table of contents
R=rsc
DELTA=149  (1 added, 145 deleted, 3 changed)
OCL=25231
CL=25234
2009-02-19 19:49:56 -08:00
Rob Pike
4501d348e8 Fix most HTML errors.
Cut introduction.
Start rewrite.

R=gri
DELTA=201  (20 added, 118 deleted, 63 changed)
OCL=25226
CL=25229
2009-02-19 17:31:36 -08:00
Robert Griesemer
c2d5586c76 go_spec.txt formatted in html.
No textual changes except for html formatting.
Seems like a fine intermediate step.

R=r
DELTA=7638  (4079 added, 3559 deleted, 0 changed)
OCL=25211
CL=25224
2009-02-19 16:49:10 -08:00
Rob Pike
3d50b1e0e8 Finish the lexical section.
DELTA=176  (172 added, 0 deleted, 4 changed)
OCL=25182
CL=25222
2009-02-19 16:20:00 -08:00
Rob Pike
d1107adb52 First piece of Go reference manual.
R=ken,gri,rsc
DELTA=185  (185 added, 0 deleted, 0 changed)
OCL=25133
CL=25169
2009-02-18 15:39:51 -08:00
Russ Cox
9f8f2e6130 convert composite literals from { } to ( ).
only non-trivial changes are in
	convlit1.go
	golden.out

R=gri
OCL=25019
CL=25024
2009-02-13 14:48:32 -08:00
Robert Griesemer
6f8df7aa3e - syntax for composite literals use () instead of {}
- do not permit + for array concatenation anymore
  (not implemented and not a good idea)
- document that unsafe function results are compile time constants
- fixed minor typos

DELTA=41  (7 added, 11 deleted, 23 changed)
OCL=24899
CL=24927
2009-02-11 21:57:15 -08:00
Robert Griesemer
38c232fe37 - language for embedded interfaces (as discussed this morning)
- fixed a syntax error

R=r
DELTA=17  (15 added, 0 deleted, 2 changed)
OCL=24876
CL=24889
2009-02-11 15:09:15 -08:00
Robert Griesemer
52c02c2d5d Added section on package unsafe:
- contains a (proposed) constant Maxalign
- contains some text re" alignment guarantees

R=ken,r
DELTA=97  (94 added, 1 deleted, 2 changed)
OCL=24791
CL=24871
2009-02-11 13:46:30 -08:00
Rob Pike
6506148850 a few small cleanups
R=rsc
DELTA=21  (2 added, 2 deleted, 17 changed)
OCL=24638
CL=24654
2009-02-08 10:17:23 -08:00
Robert Griesemer
d8a764cc7e - removed todo and restriction from spec (closures)
- fixed typos, added a reminder for a todo

R=r
DELTA=23  (6 added, 4 deleted, 13 changed)
OCL=24611
CL=24615
2009-02-06 17:01:10 -08:00
Robert Griesemer
77ccfb090c making go-spec conform with 6g:
- equality of struct types requires equality of field names

DELTA=4  (0 added, 1 deleted, 3 changed)
OCL=24478
CL=24487
2009-02-05 16:11:14 -08:00
Rob Pike
6aabf31a83 a few tweaks triggered by tgs's comments
DELTA=46  (25 added, 1 deleted, 20 changed)
OCL=24342
CL=24354
2009-02-04 15:13:07 -08:00
Rob Pike
25a2b3626d needless semicolons
R=rsc
DELTA=2  (0 added, 0 deleted, 2 changed)
OCL=23967
CL=23970
2009-01-30 15:10:22 -08:00
Robert Griesemer
2b9fe0ea24 Test balloon: Changed the spec to see the implications of changing the
syntax of function types and making them "reference types" like slice,
map, and chan. First step in Russ' proposal.

DELTA=111  (32 added, 15 deleted, 64 changed)
OCL=23669
CL=23964
2009-01-30 14:48:29 -08:00
Russ Cox
4cf7711568 update go code tree to new func rules.
R=r
DELTA=367  (111 added, 59 deleted, 197 changed)
OCL=23957
CL=23960
2009-01-30 14:39:31 -08:00
Rob Pike
b59dbd7fe0 rename variable at rsc's request
R=rsc
DELTA=4  (0 added, 0 deleted, 4 changed)
OCL=23896
CL=23928
2009-01-30 11:14:48 -08:00
Rob Pike
96777ea2a7 clean up server code in tutorial
R=rsc
DELTA=15  (1 added, 0 deleted, 14 changed)
OCL=23889
CL=23889
2009-01-30 10:18:58 -08:00
Robert Griesemer
7471eab96f - added missing sections on comparisons for some types
- clarified legal map key types (must support comparison)
- updated open issues/todo list

R=r
DELTA=81  (48 added, 19 deleted, 14 changed)
OCL=23580
CL=23621
2009-01-27 14:51:24 -08:00
Robert Griesemer
4a903e0b32 defer statement
R=r
DELTA=30  (26 added, 0 deleted, 4 changed)
OCL=23533
CL=23569
2009-01-27 09:29:40 -08:00
Robert Griesemer
18b05c1a8d - clarified slice index bounds rules
- clarified comparisons of interfaces, slices, maps, channels
- removed respective TODO's

R=r
DELTA=76  (42 added, 16 deleted, 18 changed)
OCL=23132
CL=23479
2009-01-26 09:34:19 -08:00
Robert Griesemer
ae299f0d69 cosmetic change only:
- slightly simplified a couple of productions (CommClause, SwitchClause)
  by reordering

R=r
DELTA=5  (0 added, 0 deleted, 5 changed)
OCL=23304
CL=23323
2009-01-22 15:16:48 -08:00
Rob Pike
ae05f00b46 update tutorial for new export scheme
R=ken,rsc
DELTA=101  (9 added, 0 deleted, 92 changed)
OCL=23174
CL=23188
2009-01-20 19:32:36 -08:00
Russ Cox
839a68469b delete export
TBR=r
OCL=23121
CL=23127
2009-01-20 14:40:40 -08:00
Robert Griesemer
9f4a27cbe6 - added TODO
R=r
DELTA=3  (3 added, 0 deleted, 0 changed)
OCL=23003
CL=23003
2009-01-16 15:44:08 -08:00
Robert Griesemer
1593ab6bb4 - cleanup todo list
- fixed language for arrays slightly

R=r
DELTA=81  (39 added, 25 deleted, 17 changed)
OCL=23000
CL=23000
2009-01-16 15:36:46 -08:00
Russ Cox
360962420c casify, cleanup sys
R=r
OCL=22978
CL=22984
2009-01-16 14:58:14 -08:00
Robert Griesemer
83c17606d7 - language for export via capitalized identifiers
- removed explicit "export" declarations and keyword
- fixed a few glitches and adjusted examples

(The details of what "export" mean should be clarified
in the spec, this is just so we have a working doc for
now.)

R=r
DELTA=131  (7 added, 63 deleted, 61 changed)
OCL=22753
CL=22970
2009-01-16 14:12:50 -08:00
Rob Pike
1a91b9a8a9 casify syscall and sequelae
R=rsc
DELTA=337  (0 added, 1 deleted, 336 changed)
OCL=22950
CL=22950
2009-01-16 11:36:44 -08:00
Rob Pike
293c8f8c65 casify tutorial examples
will bring document in line in a later CL, which may include revisiting some of the names

R=rsc
DELTA=58  (0 added, 0 deleted, 58 changed)
OCL=22906
CL=22908
2009-01-15 17:54:07 -08:00
Rob Pike
61f3302044 printf->Printf etc.
the raw fmt routines will be another, smaller but subtler pass.

R=rsc
DELTA=157  (0 added, 0 deleted, 157 changed)
OCL=22851
CL=22851
2009-01-15 13:48:11 -08:00
Rob Pike
ef51f4baf4 restore "os" identifier to keep consistent with text.
R=presotto
OCL=22733
CL=22733
2009-01-14 08:43:32 -08:00
Rob Pike
40d5435278 update tutorial to new language.
add a section on printing
add a section on allocation

R=rsc
DELTA=500  (278 added, 15 deleted, 207 changed)
OCL=22381
CL=22456
2009-01-09 15:16:31 -08:00
Ian Lance Taylor
dfc3e52310 Use make instead of new to allocate a channel.
R=r
DELTA=2  (0 added, 0 deleted, 2 changed)
OCL=22452
CL=22455
2009-01-09 15:13:26 -08:00
Robert Griesemer
91bbd6484b Adjusted language for literals:
- now have struct, array, slice, and map literals

DELTA=34  (13 added, 6 deleted, 15 changed)
OCL=22180
CL=22204
2009-01-07 09:31:35 -08:00
Rob Pike
8d21004b41 make the tutorial programs run again.
(the text still needs fixing)
add the tutorial programs to the test run.

R=rsc
DELTA=41  (6 added, 0 deleted, 35 changed)
OCL=22174
CL=22174
2009-01-06 15:49:27 -08:00
Robert Griesemer
633957bcce - documenting old "new()"
- adding "init()"
- fixing some bugs with slice documentation

DELTA=118  (45 added, 7 deleted, 66 changed)
OCL=22084
CL=22136
2009-01-06 13:23:20 -08:00
Robert Griesemer
a329471ced A first attempt to capture the type changes.
Instead of trying to make open arrays look like arrays (which they aren't,
they just look like them), I decided to call them "slice types". As a result
they have value semantics, and one can really talk about what they really are.

Note:
- There are lots of missing details
- There are probably lots of mistakes

Looking for some initial feedback.

R=r
DELTA=444  (180 added, 189 deleted, 75 changed)
OCL=21769
CL=22020
2009-01-05 11:17:26 -08:00
Robert Griesemer
6ccca61510 - receiver ident may be optional
R=r
DELTA=5  (2 added, 0 deleted, 3 changed)
OCL=21508
CL=21510
2008-12-18 13:29:11 -08:00
Robert Griesemer
4d23030859 - ripped out excessively fancy way of describing grammar
in favor of explicit constructs
- simpler, clearer, and shorter overall
- no spec changes

(in retrospect it was just a (my) mistake to put it in in the first place)

R=r
DELTA=55  (13 added, 28 deleted, 14 changed)
OCL=21434
CL=21462
2008-12-17 15:39:15 -08:00
Robert Griesemer
6715358652 - Add introduction section (1 page), essentially a condensed form
of an earlier intro.
- Updated contents section.
- Removed left-over text from earlier documents.

No spec changes.

R=r
DELTA=379  (147 added, 227 deleted, 5 changed)
OCL=21312
CL=21331
2008-12-16 14:45:09 -08:00
Robert Griesemer
30a1a8c922 language for range clause
(I have deliberately left away the forms w/ := or = and
the forms with :)

R=r
DELTA=106  (44 added, 13 deleted, 49 changed)
OCL=21192
CL=21283
2008-12-16 11:38:56 -08:00
Robert Griesemer
ef77c22626 - fixed minor bug in example (found by ken)
R=r
OCL=21272
CL=21272
2008-12-16 10:45:39 -08:00
Robert Griesemer
9dfb2ea7af closing a TODO:
- define integer overflow as wrap-around
- be more specific about machine representation

DELTA=54  (34 added, 7 deleted, 13 changed)
OCL=20870
CL=21070
2008-12-12 10:30:10 -08:00
Robert Griesemer
7354b864b5 Revised proposal for const/var cleanup, with
Ken's suggestion for the "iota" extension to tuples.

DELTA=171  (88 added, 57 deleted, 26 changed)
OCL=20460
CL=20544
2008-12-04 17:33:37 -08:00
Robert Griesemer
337af31781 - allow for multiple method names per function type in an interface decl.
- added some initial language with respect to exports

R=r
DELTA=95  (47 added, 31 deleted, 17 changed)
OCL=19407
CL=19426
2008-11-17 18:11:36 -08:00
Robert Griesemer
a1c85ed83e Package-export proposal:
- syntax change
- missing: corresponding language

DELTA=5  (2 added, 0 deleted, 3 changed)
OCL=19221
CL=19352
2008-11-17 09:51:56 -08:00
Robert Griesemer
434c6052d8 - language to define type equality rigorously
- language for type guards
- fixed language for break statements

Also: Removed uses of "we" and replaced by impersonal language.
Minor cosmetic changes.

DELTA=237  (160 added, 34 deleted, 43 changed)
OCL=18620
CL=18800
2008-11-07 13:34:37 -08:00
Robert Griesemer
69e26bf28d - added (incomplete) section on parameter passing
- decribe passing of "..." parameters for a start

R=r
DELTA=70  (69 added, 0 deleted, 1 changed)
OCL=18503
CL=18503
2008-11-04 16:46:45 -08:00
Robert Griesemer
f618f8940d - keeping track of to-do items
R=r
DELTA=15  (10 added, 3 deleted, 2 changed)
OCL=18334
CL=18336
2008-11-03 10:52:28 -08:00
Robert Griesemer
2e90e5424e - language for struct field tags
DELTA=17  (15 added, 0 deleted, 2 changed)
OCL=18177
CL=18184
2008-10-30 15:52:37 -07:00
Robert Griesemer
ebf14c625d - clarified section on numeric types: platform-dependent types
are different from platform-independent types (not just aliases),
  except for byte, uint8
- added missing documentation of new(a, len, cap)
- updated todo/issues lists

DELTA=70  (24 added, 21 deleted, 25 changed)
OCL=17920
CL=18174
2008-10-30 14:50:23 -07:00
Robert Griesemer
2bfa95741f Preparation for varargs: Proposal for syntax.
DELTA=11  (7 added, 0 deleted, 4 changed)
OCL=17772
CL=17804
2008-10-24 13:13:12 -07:00
Robert Griesemer
4712165b17 - clarified that composites are values created every time they
are evaluated, removed corresponding TODO.

R=r
DELTA=5  (3 added, 1 deleted, 1 changed)
OCL=17746
CL=17751
2008-10-23 17:19:56 -07:00
Robert Griesemer
071c91bf48 First cut at incorporating anonymous fields of pointer types into the
spec.

I have deliberately removed the wording about receivers where it was
before because I think it needs to be more precise. There is a TODO.

DELTA=90  (54 added, 0 deleted, 36 changed)
OCL=17597
CL=17716
2008-10-23 12:04:45 -07:00
Robert Griesemer
a6b546fe31 - be even more explicit about ideal number conversion in expressions
- added a note with respect the difference of semantics of *p++ in Go vs C

R=r
DELTA=14  (6 added, 2 deleted, 6 changed)
OCL=17455
CL=17457
2008-10-20 11:46:40 -07:00
Robert Griesemer
71696ac048 clarification of conversion rules for ideal numbers
R=r
DELTA=21  (11 added, 1 deleted, 9 changed)
OCL=17316
CL=17316
2008-10-16 15:03:22 -07:00
Robert Griesemer
b5e0cc7ef5 - added language re: interface compparison using ==, !=
(seems not controversial)

R=r
DELTA=8  (3 added, 2 deleted, 3 changed)
OCL=16940
CL=16940
2008-10-10 16:34:44 -07:00
Robert Griesemer
57b34617e0 - Fixed bug in spec: PrimaryExpr is too restrictive in most places
(for instance *p was not allowed on the left side of "="). Changed
to Expression everywhere (this is too liberal, UnaryExpr is probably
good enough, but it seems funny, and we need to check semantically
anyway). This matches 6g yacc.
- Write expression syntac recursively to express evaluation order
and precedence syntactically.
- Organized open issues list, folded in stuff from todo.txt which
is now obsolete.

R=r
DELTA=108  (41 added, 52 deleted, 15 changed)
OCL=16903
CL=16910
2008-10-10 12:45:44 -07:00
Robert Griesemer
7271e048fc - added missing case for opt. semicolons (labels)
- more precise wording by having an explicit list of cases
- simplified statement list

R=r
DELTA=16  (10 added, 0 deleted, 6 changed)
OCL=16871
CL=16875
2008-10-09 20:05:24 -07:00
Robert Griesemer
bbfe31238b More spec progress:
- language for selectors and array/map indices
- formal description of syntax notation used
- factor out common productions to better show
  symmetries in grammar

R=r
DELTA=113  (77 added, 13 deleted, 23 changed)
OCL=16853
CL=16865
2008-10-09 17:12:09 -07:00
Robert Griesemer
aed247fdb9 - make optional semicolons explicit in grammar in all places
except in statement list, where it is expressed in words
- allow for empty import, const, type, and var decl lists inside ()'s
- fixed grammar for inc/dec statements
- added empty statement as it appears to be accepted by 6g

R=r
DELTA=75  (23 added, 21 deleted, 31 changed)
OCL=16785
CL=16785
2008-10-08 17:05:30 -07:00
Robert Griesemer
7abfcd981f - precise scope rules
- forward decls for interface and struct types
- complete & incomplete types
- optional semicolons

R=r
DELTA=216  (95 added, 15 deleted, 106 changed)
OCL=16465
CL=16687
2008-10-07 17:14:30 -07:00
Robert Griesemer
347cf67a85 - precise scope rules
- clarified naming of invisible fields
- fixed syntax of expression statements

R=r
DELTA=70  (33 added, 4 deleted, 33 changed)
OCL=16424
CL=16439
2008-10-03 14:04:28 -07:00
Rob Pike
569a107e0d Revised wording about sends.
Evaluation is done before communication starts.

R=gri
DELTA=19  (4 added, 1 deleted, 14 changed)
OCL=16357
CL=16416
2008-10-03 11:18:45 -07:00