Commit Graph

81 Commits

Author SHA1 Message Date
Ryan Gonzalez
06213cd46c Remove some trailing whitespace from docs 2019-10-08 09:40:15 -05:00
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