1
0
mirror of https://github.com/golang/go synced 2024-11-14 08:40:27 -07:00
Commit Graph

392 Commits

Author SHA1 Message Date
Rob Pike
dd64f86e08 another bite-sized checkpoint on the language design FAQ
R=rsc,iant
DELTA=87  (54 added, 2 deleted, 31 changed)
OCL=35058
CL=35061
2009-09-28 16:40:34 -07:00
Rob Pike
320406d155 start of a language design FAQ.
R=rsc
DELTA=224  (214 added, 10 deleted, 0 changed)
OCL=35041
CL=35050
2009-09-28 14:37:14 -07:00
Russ Cox
13dac655cb disallow interface {x, y()}
R=gri
DELTA=8  (3 added, 0 deleted, 5 changed)
OCL=35045
CL=35047
2009-09-28 14:16:33 -07:00
Robert Griesemer
fc61b77754 - clarify type declaration (specifying status quo)
DELTA=68  (51 added, 8 deleted, 9 changed)
OCL=35038
CL=35046
2009-09-28 14:10:20 -07:00
Rob Pike
2e5a136e45 add a data section and start populating it with info about allocation, arrays
R=rsc
DELTA=331  (266 added, 61 deleted, 4 changed)
OCL=35024
CL=35030
2009-09-27 17:59:36 -07:00
Rob Pike
3aec2e46de rewrite the section about imports
DELTA=42  (10 added, 11 deleted, 21 changed)
OCL=35017
CL=35020
2009-09-25 17:00:22 -07:00
Robert Griesemer
997851e681 - reworked section on import declarations
- added missing <p> tags in various places

DELTA=62  (32 added, 4 deleted, 26 changed)
OCL=35014
CL=35014
2009-09-25 15:36:25 -07:00
Robert Griesemer
e1e7619f01 - fixed sieve.go example (channel directions were wrong)
- cosmetic adjustments

R=r
DELTA=30  (0 added, 0 deleted, 30 changed)
OCL=35010
CL=35012
2009-09-25 14:11:03 -07:00
Robert Griesemer
19b1d35d4c rewording around ideal and basic types
DELTA=355  (93 added, 85 deleted, 177 changed)
OCL=34904
CL=34998
2009-09-24 19:36:48 -07:00
Russ Cox
b817e97961 change code font to "monospace", which will
let the browser use the font the user has set up
as the default fixed-width font, instead of forcing Courier.

also set the size to 100%, which means 100% of the
font size in the surrounding text.  this looks a little
better in the main body but much better when the
code is in a heading (like Package unsafe).

R=r
DELTA=4  (1 added, 0 deleted, 3 changed)
OCL=34947
CL=34947
2009-09-23 21:38:52 -07:00
Rob Pike
ea4ada89e1 process tutorial into new format
R=rsc
DELTA=161  (57 added, 56 deleted, 48 changed)
OCL=34926
CL=34929
2009-09-23 12:31:57 -07:00
Rob Pike
084577b81a hakuho
R=ken
DELTA=1  (0 added, 0 deleted, 1 changed)
OCL=34828
CL=34828
2009-09-19 11:41:26 -07:00
Robert Griesemer
d36d191e25 - added heading to operator precedence section so it's easy to find
- fixed broken link to function literals section
- minor adjustments

R=r
DELTA=20  (1 added, 3 deleted, 16 changed)
OCL=34792
CL=34794
2009-09-18 11:58:35 -07:00
Rob Pike
44b0f591e7 check in the generated html for the tutorial so godoc can serve it
DELTA=1444  (1444 added, 0 deleted, 0 changed)
OCL=34760
CL=34762
2009-09-17 17:05:45 -07:00
Robert Griesemer
da961881b4 - silence ebnflint: mark syntax section as "ebnf" instead of "grammar"
- re-use MethodName production

R=r
DELTA=4  (1 added, 1 deleted, 2 changed)
OCL=34734
CL=34734
2009-09-17 11:01:50 -07:00
Larry Hosken
698c6c00a0 A step towards "externalizing" some Go docs.
+ style sheet: like code.google.com but less feature-ful
+ JS with table-of-contents generation
+ tweaked go_spec.html and go_mem.html to use new style+JS
+ static-HTML-ified a few other Go docs:
  + static HTML versions of some wiki pages (which I'll turn
    into links to these pages).

A notable thing that is _not_ in this changelist: any change
to the godoc tool or whatever thing generates http://go/godoc

R=r
APPROVED=r
DELTA=2472  (2307 added, 113 deleted, 52 changed)
OCL=34644
CL=34728
2009-09-17 08:05:12 -07:00
Rob Pike
9d7538b42b slight refinement of select: evaluation is top to bottom, as in switches.
DELTA=9  (2 added, 4 deleted, 3 changed)
OCL=34690
CL=34692
2009-09-16 11:49:35 -07:00
Robert Griesemer
5eb36240b7 - added syntax for conversions (was missing)
- added TODO for syntax for built-ins (require type as first argument)
- removed duplicate definition of Index

DELTA=13  (11 added, 1 deleted, 1 changed)
OCL=34668
CL=34688
2009-09-16 11:05:14 -07:00
Rob Pike
01cadde597 Deriving functions from methods
DELTA=238  (118 added, 116 deleted, 4 changed)
OCL=34653
CL=34660
2009-09-15 15:56:44 -07:00
Russ Cox
ae54cf73ca last round: non-package code
R=r
DELTA=127  (38 added, 3 deleted, 86 changed)
OCL=34640
CL=34650
2009-09-15 12:42:24 -07:00
Rob Pike
8cb9184d7f an attempt to define initialization order within a package.
DELTA=23  (19 added, 1 deleted, 3 changed)
OCL=34646
CL=34649
2009-09-15 11:56:39 -07:00
Rob Pike
678625d8df minutiae: pass 1
DELTA=174  (65 added, 10 deleted, 99 changed)
OCL=34625
CL=34639
2009-09-15 09:54:22 -07:00
Rob Pike
f3a33bca40 make SimpleStmt include EmptyStmt and the grammar simplifies a bit.
SimpleStmt was always used as an option.

fix bug: divide is a right shift

DELTA=8  (0 added, 0 deleted, 8 changed)
OCL=34612
CL=34614
2009-09-14 17:39:17 -07:00
Russ Cox
28eba4877b fix "declared and not used" errors in non-test code.
R=r
DELTA=112  (6 added, 57 deleted, 49 changed)
OCL=34610
CL=34610
2009-09-14 17:20:29 -07:00
Rob Pike
a5d6f8342c functions
R=rsc
DELTA=125  (103 added, 22 deleted, 0 changed)
OCL=34586
CL=34598
2009-09-14 10:40:44 -07:00
Rob Pike
61dd8363ba correct and clarify the rules about integer conversions.
DELTA=15  (6 added, 1 deleted, 8 changed)
OCL=34549
CL=34564
2009-09-11 11:51:00 -07:00
Rob Pike
c1342802dd gccgo does not yet implement _
OCL=34517
CL=34517
2009-09-10 10:47:11 -07:00
Robert Griesemer
4e56b33b42 - blank identifier
- fixed some links

DELTA=51  (32 added, 1 deleted, 18 changed)
OCL=34497
CL=34515
2009-09-10 10:14:00 -07:00
Russ Cox
5d16d23362 update type switch to match spec.
R=ken
OCL=34471
CL=34471
2009-09-09 00:18:16 -07:00
Rob Pike
c77c3b0196 string range
R=rsc
DELTA=22  (19 added, 0 deleted, 3 changed)
OCL=34463
CL=34463
2009-09-08 17:11:57 -07:00
Robert Griesemer
506c008092 cosmetic changes:
- fixed a couple of broken links
- changed some explicit section references into implicit ones

R=r
DELTA=27  (0 added, 2 deleted, 25 changed)
OCL=34461
CL=34461
2009-09-08 15:41:14 -07:00
Robert Griesemer
d3ffc5e683 silence hlint
R=r
DELTA=7  (0 added, 4 deleted, 3 changed)
OCL=34310
CL=34312
2009-09-03 10:35:09 -07:00
Russ Cox
789e58cb04 unsafe is not declared in the outermost scope
R=gri
DELTA=3  (0 added, 3 deleted, 0 changed)
OCL=34305
CL=34305
2009-09-03 09:46:24 -07:00
Stephen Ma
5db1d3867f Update restriction on declarations of methods.
APPROVED=rsc
DELTA=1  (0 added, 0 deleted, 1 changed)
OCL=34289
CL=34289
2009-09-02 20:09:25 -07:00
Rob Pike
8aec612a80 for loops
comment out incomplete stuff

R=rsc
DELTA=61  (58 added, 0 deleted, 3 changed)
OCL=34278
CL=34281
2009-09-02 16:41:41 -07:00
Robert Griesemer
237c8ab455 updated Implementation differences section
R=rsc,r
DELTA=4  (3 added, 0 deleted, 1 changed)
OCL=34204
CL=34204
2009-09-01 14:07:30 -07:00
Robert Griesemer
bdec330c85 remove leftover forward-decl syntax and example
(per feedback from Austin)

R=rsc
DELTA=7  (0 added, 2 deleted, 5 changed)
OCL=34158
CL=34161
2009-08-31 17:57:14 -07:00
Robert Griesemer
aeaab597db - use "package block" nomenclature for exported identifier section
- same capitalization for "Declarations and scope" section as for
  other sections

DELTA=23  (2 added, 1 deleted, 20 changed)
OCL=34131
CL=34156
2009-08-31 17:30:55 -07:00
Robert Griesemer
4ed666e228 doc fixes (no lang changes)
- added missing predeclared identifiers
- html-escaping of a few <<'s and >>'s
- added a few links (and removed the §'s)

R=r
DELTA=30  (0 added, 0 deleted, 30 changed)
OCL=33985
CL=33995
2009-08-27 16:45:42 -07:00
Robert Griesemer
1f95f0d353 tweaks
R=r
DELTA=2  (0 added, 0 deleted, 2 changed)
OCL=33994
CL=33994
2009-08-27 16:44:17 -07:00
Robert Griesemer
9ecd30a286 - modified type switches (replacement for CL 32659)
- takes into account new scoping rules

DELTA=52  (21 added, 7 deleted, 24 changed)
OCL=33967
CL=33982
2009-08-27 14:22:51 -07:00
Rob Pike
0262f8834d fix duplicated word
R=rsc
DELTA=1  (0 added, 0 deleted, 1 changed)
OCL=33788
CL=33791
2009-08-24 16:12:59 -07:00
Rob Pike
c409976b85 semicolons, ifs, switches
R=rsc
DELTA=196  (118 added, 24 deleted, 54 changed)
OCL=33716
CL=33727
2009-08-23 14:00:28 -07:00
Rob Pike
d55370760f allow "comma ok" in initializers
DELTA=11  (4 added, 0 deleted, 7 changed)
OCL=33698
CL=33712
2009-08-22 00:04:04 -07:00
Rob Pike
83cbca5657 rewrite type rules for expressions and add shift examples
DELTA=48  (22 added, 0 deleted, 26 changed)
OCL=33657
CL=33668
2009-08-21 14:18:08 -07:00
Robert Griesemer
ef45e64afc - unifying rules for var decls, short var decls, and assignments
DELTA=39  (4 added, 15 deleted, 20 changed)
OCL=33639
CL=33649
2009-08-21 11:25:00 -07:00
Rob Pike
f0ccd40736 names
R=rsc
DELTA=96  (25 added, 5 deleted, 66 changed)
OCL=33607
CL=33612
2009-08-20 15:39:41 -07:00
Russ Cox
8a45917f3d len and cap on chans
R=ken
OCL=33599
CL=33599
2009-08-20 11:12:04 -07:00
Russ Cox
7c4f7cc7eb introduce meaningful section names, so that
go_spec.html#Return_statements

can be used to link to spec sections.  passes hlint.
renamed final section to simply "Implementation differences"
to shorten the name, but otherwise no non-formatting changes

R=gri
DELTA=230  (10 added, 0 deleted, 220 changed)
OCL=33598
CL=33598
2009-08-20 11:11:03 -07:00
Russ Cox
fe53795422 clean up multifile package section.
remove ASCII digit comment that isn't true.

R=gri
DELTA=41  (1 added, 25 deleted, 15 changed)
OCL=33594
CL=33596
2009-08-20 10:47:40 -07:00
Russ Cox
16b95ba614 simplifications.
mark multifile section with TODO only
because that is a bigger change.

R=gri
DELTA=45  (9 added, 22 deleted, 14 changed)
OCL=33565
CL=33593
2009-08-20 10:22:52 -07:00
Robert Griesemer
0a162a1433 new scope rules
DELTA=137  (50 added, 24 deleted, 63 changed)
OCL=33476
CL=33553
2009-08-19 16:44:04 -07:00
Rob Pike
11e4db7c12 section about comments
R=rsc
DELTA=125  (13 added, 62 deleted, 50 changed)
OCL=33545
CL=33550
2009-08-19 16:39:25 -07:00
Rob Pike
22140a17a0 start of a rewrite with a different tone
R=rsc
DELTA=131  (61 added, 6 deleted, 64 changed)
OCL=33488
CL=33532
2009-08-19 13:24:24 -07:00
Rob Pike
5e87fb8167 delete obsolete file of notes
R=rsc
DELTA=263  (0 added, 263 deleted, 0 changed)
OCL=33466
CL=33485
2009-08-18 16:19:07 -07:00
Ian Lance Taylor
3e804ba7a7 There should not be a prohibition against embedding an
interface type in a struct.  It is meaningful and the
compilers support it.

R=gri
DELTA=2  (0 added, 0 deleted, 2 changed)
OCL=33378
CL=33384
2009-08-17 11:40:57 -07:00
Robert Griesemer
4023dce70f - remove language on forward decls
- remove language on (in-)complete types

DELTA=95  (8 added, 62 deleted, 25 changed)
OCL=33310
CL=33322
2009-08-14 17:41:52 -07:00
Rob Pike
401c0b3b46 get this out of the way
OCL=33178
CL=33180
2009-08-13 11:29:05 -07:00
Rob Pike
61028773b1 update tutorial
R=rsc
DELTA=30  (5 added, 0 deleted, 25 changed)
OCL=33138
CL=33170
2009-08-13 08:54:26 -07:00
Robert Griesemer
4b90833803 - clarified section on return statements
- added some TODOs

DELTA=46  (15 added, 4 deleted, 27 changed)
OCL=32901
CL=32918
2009-08-07 17:05:41 -07:00
Rob Pike
fe287e79c1 clean up a TODO
R=rsc
DELTA=45  (28 added, 4 deleted, 13 changed)
OCL=32673
CL=32675
2009-08-03 14:07:19 -07:00
Robert Griesemer
7539c8501d language re: conversion of left operand in shift operations
DELTA=5  (5 added, 0 deleted, 0 changed)
OCL=32484
CL=32617
2009-07-31 18:05:07 -07:00
Rob Pike
d951ce4e45 more info about comments
R=rsc
DELTA=100  (82 added, 4 deleted, 14 changed)
OCL=32609
CL=32615
2009-07-31 17:54:00 -07:00
Rob Pike
d1a3b98a8d cleanup pass before big edits
R=rsc
DELTA=73  (27 added, 25 deleted, 21 changed)
OCL=32587
CL=32587
2009-07-31 11:41:30 -07:00
Robert Griesemer
e1b8cb8cf0 - renamed SimpleVarDecl -> ShortVarDecl, in sync with terminology used in prose
- added a few TODOs

R=r
DELTA=4  (2 added, 0 deleted, 2 changed)
OCL=31751
CL=31756
2009-07-16 20:31:41 -07:00
Robert Griesemer
7c06f285d0 capital_letter was never used
R=rsc
DELTA=2  (0 added, 1 deleted, 1 changed)
OCL=31472
CL=31477
2009-07-10 18:21:07 -07:00
Robert Griesemer
f7ac313629 - mark actual EBNF with pre-formatted class "ebnf" instead of "grammar"
- make real productions for Unicode char classes so that they can be parsed
- use `` for tokens that contain "'s or \'s so that they can be parsed
- added a missing '.'

This version of the spec passes through ebnflint (forthcoming) without errors.

R=r,rsc
DELTA=74  (3 added, 1 deleted, 70 changed)
OCL=31464
CL=31466
2009-07-10 16:06:40 -07:00
Russ Cox
ec9b0428f8 various spec tunings
R=gri
DELTA=6  (0 added, 1 deleted, 5 changed)
OCL=31415
CL=31419
2009-07-09 16:44:13 -07:00
Rob Pike
eaf6a344b7 a few edits and simplifications.
R=rsc
DELTA=248  (40 added, 108 deleted, 100 changed)
OCL=31211
CL=31211
2009-07-06 15:15:56 -07:00
David Symonds
25706fec19 Fix a doc typo.
R=rsc
APPROVED=rsc
DELTA=1  (0 added, 0 deleted, 1 changed)
OCL=30967
CL=30990
2009-07-01 15:07:20 -07:00
Russ Cox
a0bcaf4c00 Change os.Error convention:
echo back context of call in error if likely to be useful.

For example, if os.Open("/etc/passwd", os.O_RDONLY)
fails with syscall.EPERM, it returns as the os.Error

	&PathError{
		Op: "open",
		Path: "/etc/passwd"
		Error: os.EPERM
	}

which formats as

	open /etc/passwd: permission denied

Not converted:

	datafmt
	go/...
	google/...
	regexp
	tabwriter
	template

R=r
DELTA=1153  (561 added, 156 deleted, 436 changed)
OCL=30738
CL=30781
2009-06-25 20:24:55 -07:00
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