Skip to content

Commit

Permalink
doc: Reordering sections
Browse files Browse the repository at this point in the history
  • Loading branch information
gliga committed May 10, 2024
1 parent e6b1e2c commit fdf77dc
Showing 1 changed file with 13 additions and 12 deletions.
25 changes: 13 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,19 @@ page](/examples/README.md). A quick demo of the very basic concepts
using a toy example is available [here](/doc/gobash.gif).


## Key Features

We focused on a design that enables the following key features
(discussed in more detail at gobash.org):

* **Programming language features** - `gobash` enables (via functions and files) defining `structs` and `methods` and instantiating "objects", e.g., [example](/examples/methods_ex)
* **Arguments and return values** - `gobash` supports passing "objects" as arguments to functions and returning them as "out" arguments, e.g., [example](/examples/result_ex)
* **Collections** - `gobash` (using `structs`) provides a flexible collections: `List`s and `Map`s (thus avoiding built-in structures when they are not sufficiently flexible or they are not available in old versions), e.g., [example](/examples/list_ex)
* **Command line flag parsing** - `gobash` introduces a set of functions for parsing command line flags (similar to those in other programming languages), e.g., [example](/examples/flags_ex)
* **Testing** - `gobash` comes with a testing package, e.g., [example](/examples/playground/test_function_ex)
* **API** - `gobash` provides a set of functions to support common tasks and abstractions, such as strings, `Mutex`, `Chan`, e.g., [example](/examples/binary_trees_ex)


## A Quick Example

```bash
Expand All @@ -48,18 +61,6 @@ $lst to_string
# ]
```

## Key Features

We focused on a design that enables the following key features
(discussed in more detail at gobash.org):

* **Programming language features** - `gobash` enables (via functions and files) defining `structs` and `methods` and instantiating "objects", e.g., [example](/examples/methods_ex)
* **Arguments and return values** - `gobash` supports passing "objects" as arguments to functions and returning them as "out" arguments, e.g., [example](/examples/result_ex)
* **Collections** - `gobash` (using `structs`) provides a flexible collections: `List`s and `Map`s (thus avoiding built-in structures when they are not sufficiently flexible or they are not available in old versions), e.g., [example](/examples/list_ex)
* **Command line flag parsing** - `gobash` introduces a set of functions for parsing command line flags (similar to those in other programming languages), e.g., [example](/examples/flags_ex)
* **Testing** - `gobash` comes with a testing package, e.g., [example](/examples/playground/test_function_ex)
* **API** - `gobash` provides a set of functions to support common tasks and abstractions, such as strings, `Mutex`, `Chan`, e.g., [example](/examples/binary_trees_ex)


## Dependencies

Expand Down

0 comments on commit fdf77dc

Please sign in to comment.