Commit Graph

80 Commits

Author SHA1 Message Date
Kodi Arfer 6c93fc6ff1 Overhaul introductory documentation
- Removed links to non-updated code and badges.
- Compressed `quickstart.rst` into a few sentences at the very start of the docs.
- Added a "Why Hy?" chapter discussing Hy's features and comparing Hy to Python and other Lisps.
- Rewrote the tutorial to be more accessible to non-Python programmers and to be greater in breadth but lesser in depth.
- Cut down on the self-congratulatory manic tone and exclamation points, while keeping the jokes I liked best.
2019-08-19 14:00:53 -04:00
Kodi Arfer 8b101d1214 Update documentation 2019-07-17 14:34:31 -04:00
Aaron Schumacher d547610adb
typo: missing "a" 2019-06-25 11:52:33 -04:00
Kodi Arfer 9914e9010c Update the docs for removing Python 2 support
Some of the example output may still be from Python 2.
2019-06-04 14:01:59 -04:00
Krystian Rosiński 0fd02bf52b Fix a typo in a tutorial example 2019-05-27 18:49:52 +02:00
Tristan Cacqueray 5d7b069ecb Add collections indexes and slices tutorial
This change adds to the tutorial the hy way of accessing array.
2019-03-13 03:50:06 +00:00
Kodi Arfer da754c0e5d Update NEWS and docs for the new comprehensions 2018-06-13 17:31:08 -07:00
Philip Xu 0b08916174 Fix typos and improve code examples 2018-05-16 18:25:53 -04:00
Philip Xu 643196c2b8 Remove mixtures of tabs and spaces 2018-05-15 23:29:07 -04:00
Kodi Arfer a605936651 Remove &key
It's redundant with &optional.
2018-04-19 09:26:02 -07:00
Zaheer Soebhan 9afb196c8b Change the examples in the tutorial to Python 3 2017-08-27 14:17:07 -07:00
Kodi Arfer 3f3cce8785 Update docs: `apply` is gone; #* and #** are in 2017-07-19 11:00:43 -07:00
gilch 6cd3201421 rename sharp macros to tag macros 2017-06-22 22:48:46 -06:00
gilch 20c26a52e4 make sharp macros take arbitrary identifiers
Previously, only a single character was allowed.
2017-06-22 22:46:24 -06:00
Tristram Oaten fc3dd8ab66 Fix Tuukka print example (#1304)
It was missing quotes around "Tuukka". Output from hy to confirm everything's good:

```clojure
hy unknown using CPython(default) 3.6.1 on Linux
=> (print "Hello there," "Tuukka")
Hello there, Tuukka
```
2017-06-12 08:36:47 -05:00
Kodi Arfer 4c38e2c9dd Rename reader macros to "sharp macros" (#1282)
They're not actually reader macros, since their arguments are parsed s-expressions, like a regular macro, not pre-parsed source text.
2017-04-21 10:07:48 -05:00
Kodi Arfer f8e5645c2e Small NEWS and docs fixes for hy-repr (#1258) 2017-03-25 12:13:44 -05:00
Kodi Arfer 33a696d487 Add a command-line option --repl-output-fn (especially for hy.contrib.hy-repr) 2017-03-24 09:03:12 -07:00
John Patterson 8fb7706a68 Added class use example to tutorial
I was following along and noticed that it wasn't actually explained how to _use_ the object we just made. I include both the `setv` style of writing the Hy as we've been using in the rest of the docs up to this point and a more LISP-y style use of the object.
2017-03-08 22:39:41 -06:00
Kodi Arfer 1d6de2792e Merge branch 'let-it-be' 2017-02-13 09:19:37 -08:00
Kodi Arfer 3ec919278d Remove `let` from documentation 2017-02-13 09:12:21 -08:00
Charles de Lacombe 83cdaf0a71 Docs: Hy <-> Python interop fix #1061 (#1218)
* Docs: Hy <-> Python interop fix #1061

I separated the existing text in two sections, with some additional
explanations and a link to Hy's `import`.

* added interop page

* simplified interop section in tutorial

* remove the TODO from interop section in tutorial

Because yay

* Corrections from @Kodiologist

I kept the part about mangling, but added a warning about its incompleteness. I
think it can be useful for somebody who just wants to use a Python module in his
code. Maybe it can be removed when the actual documentation for mangling is
written.

* Added myself to AUTHORS.

I'll do my best to be worthy of it. Thanks for this awesome project!
2017-02-10 17:11:21 -08:00
Kodi Arfer ed8e37da62 Burninate the synonyms `true`, `false`, and `nil`
Per the straw poll in #908, as an alternative to #1147.

Now you must use `True`, `False`, and `None`, as in Python. Or just assign `true` to `True`, etc.; the old synonyms aren't reserved words anymore.
2016-11-23 18:35:17 -08:00
Kodi Arfer 14fddbe6c3 Give `require` the same features as `import` (#1142)
Give `require` the same features as `import`

You can now do (require foo), (require [foo [a b c]]), (require [foo [*]]), and (require [foo :as bar]). The first and last forms get you macros named foo.a, foo.b, etc. or bar.a, bar.b, etc., respectively. The second form only gets the macros in the list.

Implements #1118 and perhaps partly addresses #277.

N.B. The new meaning of (require foo) will cause all existing code that uses macros to break. Simply replace these forms with (require [foo [*]]) to get your code working again.

There's a bit of a hack involved in the forms (require foo) or (require [foo :as bar]). When you call (foo.a ...) or (bar.a ...), Hy doesn't actually look inside modules. Instead, these (require ...) forms give the macros names that have periods in them, which happens to work fine with the way Hy finds and interprets macro calls.

* Make `require` syntax stricter and add tests

* Update documentation for `require`

* Documentation wording improvements

* Allow :as in `require` name lists
2016-11-03 09:35:58 +02:00
Jakukyo Friel 4db667322c Doc: Fix typo (missing quote) (#1096) 2016-09-22 03:32:35 +03:00
John Clover 93a66c7d5e Remove redundant word (#1077)
_a_ or _some_ would work here, I opted to keep _a_
2016-06-24 15:24:20 -07:00
Jonathan Poltak Samosir fe4f677ed2 Fixed minor rst error + lowercase 'hy' occurance
- (Seemingly) accidental placement of a character meant that the backticks weren't picked up and displayed nicely.
- Everywhere you refer to 'Hy', it has a capital 'h'. Here it did not.

Fixed up minor grammar issue in one sentence

Fixed minor inconsistency with Python and Hy code

- Added variable assignment before code example
2016-02-28 19:04:13 -08:00
Zack M. Davis a1cb5e33e7 merge branch 'f/hashbang-doc' 2015-12-09 21:48:38 -08:00
Gergely Nagy 6d00df3932 docs: Add some documentation about #!
Add the #! syntax to the quickstart guide, and to the tutorial as well.
Fixes #992.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2015-12-09 11:48:44 +01:00
Eleonore9 6ee3b03aa4 Fixed typos 2015-12-09 00:17:16 +00:00
Johnathon Sage e2614cc24a Update tutorial.rst
Changed case of function call in Macro
2015-11-14 15:48:39 -05:00
Tuukka Turto 6ea6777663 Merge branch 'master' into pr/975 2015-10-17 17:11:31 +03:00
Csilla Nagyne Martinak acd98bb79e docs/tutorial: Simplify two examples
As part of the Grand Language Cleanup, a few examples in the tutorial
could be simplified:

* The --init-- function of the defclass example does not need an
  explicit None anymore.
* The apply example in the Hy<->Python interop section can use a
  keyword instead of a string in the last part.

This perhaps closes #971.

Signed-off-by: Csilla Nagyne Martinak <csilla@csillger.hu>
2015-10-17 14:07:32 +02:00
Csilla Nagyne Martinak d79e56f2ef docs/tutorial: Add a short (require) example
Adds a short (require) example, along with a few words on why macros can't be imported.

Closes #966.

Signed-off-by: Csilla Nagyne Martinak <csilla@csillger.hu>
2015-10-17 13:58:47 +02:00
Tuukka Turto af6ac92c0a Add section about macros in tutorial
relates #926
2015-10-03 13:24:43 +03:00
Gergely Nagy 32f5d5dea7 Drop a set of brackets from with.
This changes with syntax from (with [[x (expr)] (expr)] ...) to (with
[x (expr) (expr)] ...). Should have no ill side effects apart from the
syntax change.

Closes #852.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2015-10-01 10:08:04 +02:00
Gergely Nagy cbc2eed900
defclass reimagined
defclass now has a new syntax:

 (defclass Name [BaseList]
   [property value
    property value] ;; optional

   (defn method [self]
     self.property))

Anything after the optional property list (which will be translated to a
setv within the class context) will be added to the class body. This
allows one to have side effects and complex expressions within the class
definition.

As a side effect, defining methods is much more friendly now!

Closes #850.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2015-08-04 16:43:07 +02:00
Ryan Gonzalez 016d25d104 Add one-argument division and rationals (closes #825 and #826) 2015-07-29 13:30:24 -05:00
Ryan Gonzalez c94c0e8b50 Add set literals (closes #827) 2015-07-14 23:59:29 +03:00
Shrayas ee4fecdafe Fix typo
It was mistyped as lisP comprehensions instead of lisT
comprehensions
2015-01-14 22:16:26 +05:30
Christopher Allan Webber 706376277f Explaining that :keyword syntax is for post 0.10.1 only 2014-12-23 15:05:36 -06:00
Christopher Allan Webber cacc14a7be Removing trailing whitespace from example 2014-12-23 14:39:40 -06:00
Christopher Allan Webber 6ec89af988 Dashes! Dashes everywhere! ... in the tutorial
The tutorial used underscores in Hy code everywhere.

Updated all examples to use dashes, as per Hy convention.
2014-12-23 14:27:38 -06:00
Christopher Allan Webber d98e4fd733 Implement keyword argument passing... (foo-func 1 2 :kw1 "bar") works!
This code is heavily, *heavily* based off of Guillermo Vaya
(willyfrog)'s work... instead of defining its own keyword arg though, it
uses the "standard" :kwarg type, which is the main difference from
willyfrog's original branch.

Included tests and some documentation in the tutorial.

Also documented "apply" separately as an example of reproducing
*args and **kwargs.
2014-12-23 14:07:02 -06:00
Berker Peksag cd93c0b03e Merge pull request #704 from iKevinY/doc-changes
Fixes to documentation (language & contributor modules)
2014-12-07 12:36:58 +02:00
Kevin Yap 8c0ac0862f Adhere to CPython's documentation guidelines
- Inline code is written using ``double backticks``
- Italicized text uses *asterisks* rather than `single backticks`
- Function parameters are italicized rather than written as inline code
2014-12-07 02:09:43 -08:00
Berker Peksag 5034b5a918 Tweak Python interop section a bit. 2014-12-06 18:10:35 +02:00
Matthías Páll Gissurarson ddc56a1e78 Added explanation on Hy <-> Python interop 2014-12-06 12:51:16 +00:00
Kevin Yap 3e0ea7a131 Various changes to documentation pages
- Standardized capitalization of Hy, Lisp(s), and Python.
- Added periods to the end of list items.
- Use inline code blocks for inline code.
- Stripped trailing whitespace.
- Other miscellaneous grammatical changes.
2014-12-05 23:15:48 -08:00
Abhishek L 4f74652c73 the mega typo fix commit
Wow! much typos! such fix!
2014-05-05 23:47:14 +05:30