Commit Graph

11 Commits

Author SHA1 Message Date
Ron Evans d820c36c4f runtime/strings: add implementation of strings.IndexByte() (#155)
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2019-01-25 13:44:26 +01:00
Ayke van Laethem ee7c276493 compiler: update integer type sizes
* Use 64-bit integers on 64-bit platforms, just like gc and gccgo:
  https://golang.org/doc/go1.1#int
* Do not use a separate length type. Instead, use uintptr everywhere a
  length is expected.
2018-11-14 14:01:04 +01:00
Marc-Antoine Ruel b1cf69a523 compiler: implement binop string: <, <=, >, >=
Include unit tests.
2018-11-08 20:48:29 -05:00
Ayke van Laethem 473e71b573 compiler: implement range over a string 2018-09-22 19:19:53 +02:00
Ayke van Laethem 31f494e611 all: swap string from {len, ptr} to {ptr, len} for slice compatibility
Having slices and strings be similar makes other code simpler.
2018-09-06 10:50:13 +02:00
Ayke van Laethem ebd87ce4cd compiler: implement []byte(str) 2018-09-03 00:21:33 +02:00
Ayke van Laethem 88b6b2e7f5 Optimize/eliminate bounds checking
TODO: do better at it by tracking min/max values of integers. The
following straightforward code doesn't have its bounds checks removed:

    for _, n := range slice {
        println(n)
    }
2018-09-02 16:28:46 +02:00
Ayke van Laethem d13c124df9 Implement casting from (Unicode) integer to string 2018-08-30 00:36:54 +02:00
Ayke van Laethem fdc56d5940 Implement convert string <- []byte 2018-08-29 23:54:46 +02:00
Ayke van Laethem 8b95b869ab Implement string concatenation 2018-08-29 22:10:46 +02:00
Ayke van Laethem 8f7db8661b Move string type to runtime in separate file 2018-08-29 20:55:09 +02:00