* docs: implemented python script to convert local documentation from .md files to .html files
* docs: filled index.md; reviewed all references in .md files
* docs: updated Embedded.md and resized carp_on_arduboy.jpg to sensible width
* docs: copy sub folders (./docs/core and ./docs/sdl) to ./docs-html/ and refer docu to it
* docs: phrased requirements more clearly
* docs: generate docs for Standard libraries before converting .md docs to .html
* docs: change index to markdown lists
* docs: index.md worked around limitation in md converter
* docs: removed modules count from Libraries.md
Co-authored-by: guberatsie <gunnar.bernhardt@siemens.com>
* chore: Abuse deftemplate to get rid of Address
* chore: Avoid semicolon at end of define
* fix: address should be useable as an argument to a HOF
* chore: adapt examples to new address signature
* fix: Remove Address from typeOf
* fix: Remove more uses of Address
* fix: Remove more mentions of address in the Haskell code
* fix: Remove test that ensure you can't take the address of non-symbols
* refactor: Moved `address` to Pointer.carp
* refactor: Move address into Pointer module
Co-authored-by: Jorge Acereda <jacereda@gmail.com>
* refactor: Groups Dynamic together in Macros.carp
* fix: Fixes doc for `hidden` referring to the wrong symbol
* feat: Adds defn- & def- macros
Adding these macros as a shortand for declaring a def or defn and making
them `hidden` and `private`, useful to keep things internal to a module.
* test: Adds expected error output tests for def- & defn-
* refactor: Changes position of Module and Interface section in LanguageGuide
Trying to introduce concepts in the same order they are referred to in
the examples: structs > modules > interfaces.
* docs: Adds private & hidden section in the LanguageGuide
* Adds C Interop documentation for Strings
* Replaces usage of triple backticks with single when used in a paragraph
* Adds link to new C Interop docs in the Language Guide
* Small tweaks to wording in C Interop doc
* Adds Array section to C Interop doc
* Adds deftemplate examples in C interop doc
* Small copy change in C interop doc
* Adds identifiers section in C interop doc
Interfaces are now explicitly implemented using the `implements` key
word (in the past, implementation of an interface was implicit based on
matching names and function signatures).
This commit updates the language guide to account for this change and
includes an illustrative example to provide guidance on using
interfaces.
I've updated the example code included in the `with` section to better match the style of other sample code throughout the document. Big thanks to @hellerve for pointing this out!
Added a few short sentences and samples to document the `with` form. I don't have especially robust knowledge of the form or its implementation, so please correct this/augment as necessary!
Based on the docs, I expected that `defdynamic` would allow me to define and use a function at the REPL. Instead I got the following error:
```
> (defdynamic square [x]
(* x x))
Invalid args to `defdynamic`: (defdynamic square [x] (* x x)) (did you try to define a dynamic function - use 'defndynamic' instead) at REPL:1:1.
```
Definitely props on the helpfulness of the error message, which makes this an easily overcome issue. However, I'd like to propose this change to the guide so that any other newcomers don't hit a bump the first time they try something.