Commit Graph

392 Commits

Author SHA1 Message Date
Tuukka Turto
bae4d61e04 Fix require to new syntax 2016-11-03 14:32:23 +02:00
Tuukka Turto
77bc767907 Merge branch 'master' into multimethod
Conflicts:
	docs/contrib/multi.rst
2016-11-03 14:06:13 +02:00
Tuukka Turto
f60ed24c29 Add docs and tests for as-> macro (#1141)
Add docs and tests for as-> macro

Closes #1047
2016-11-03 10:20:26 +02: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
gilch
399d2bcf21 clarify documentation of import (#1121)
* clarify documentation of import

Add a comment showing the equivalent python of the long example, and demonstrate how to get `from` and `as` on the same line.

* add python example comment in last import example
2016-09-25 21:29:53 -06:00
gilch
1d3142c8de change quickstart install from PyPI to GitHub (#1116)
* change Quickstart install from PyPI to GitHub
2016-09-24 15:54:32 -06:00
Jakukyo Friel
d81b71f242 Doc: CLI: mention --spy only works in REPL mode. (#1097) 2016-09-22 15:20:26 +03:00
Jakukyo Friel
35de998871 Docs: Fix rst markup in docs/contrib/loop.rst. (#1098)
In RestrutruedText, double backtick quotes (instead of single
backtick quotes in markdown) are used for code span.
2016-09-22 03:33:32 +03:00
Jakukyo Friel
4db667322c Doc: Fix typo (missing quote) (#1096) 2016-09-22 03:32:35 +03:00
Jakub Wilk
b94211251c Use HTTPS for Wikipedia URLs 2016-09-04 22:35:46 +02:00
Michael Hunsinger
6a452d70a4 Added documentation for walk, postwalk and prewalk 2016-08-20 02:35:02 -06: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
Jakub Wilk
313dff5548 Fix typo 2016-06-11 01:04:07 +02:00
Jakub Wilk
c6ad179bbb Use HTTPS for *.readthedocs.io 2016-05-15 15:28:23 +02:00
Jakub Wilk
35ea55caaf Update readthedocs domains
From the announcement <http://blog.readthedocs.com/securing-subdomains/>:

> Starting today, Read the Docs will start hosting projects from
> subdomains on the domain readthedocs.io, instead of on readthedocs.org.
[...]
> Projects will automatically be redirected, and this redirect will
> remain in place for the foreseeable future. Still, you should plan on
> updating links to your documentation after the new domain goes live.
2016-05-15 15:27:59 +02:00
Matthew Egan Odendahl
d1fd483e59 minor doc fix 2016-05-12 16:41:26 -06:00
Tuukka Turto
0ef9e9ef3b Modify multimethods to use dispatching function 2016-04-16 13:43:13 +03: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
Tim Martin
b3a85801bd Documentation of the &key modifier in (defn) 2016-01-26 20:34:08 +00:00
Jakub Wilk
ea98b944cb Fix typo 2016-01-22 20:21:38 +01:00
Paul‮etnomailgaT‭
3eb6001852 Merge pull request #872 from tuturto/xor
Add exclusive or logical operator
2015-12-12 12:38:14 -05: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
Jakub Wilk
1d16addd2e Fix typos 2015-12-08 14:43:47 +01:00
Morten Linderud
a3bd90390c Merge pull request #987 from digitalvectorz/master
api documentation correction (yield)
2015-11-14 23:46:55 +01:00
Johnathon Sage
ec0eea1277 Update api.rst
(for [[( ... ) ( ... )]] )  --> HyMacroExpansionError: 'for' requires an even number of args.
2015-11-14 16:56:27 -05:00
Johnathon Sage
7dbd3bcf7c Update api.rst
Extra closing '])' in yield "yields 'LexException'
2015-11-14 16:18:53 -05:00
Johnathon Sage
e2614cc24a Update tutorial.rst
Changed case of function call in Macro
2015-11-14 15:48:39 -05:00
Zack M. Davis
5af86d691d merge remote-tracking branch 'endrebak/anaphoric-import-info-missing' 2015-10-18 16:39:58 -07:00
Endre Bakken Stovner
66b16d15f5 Add import anamorphic macros info
Small change thanks to kirbyfan64
2015-10-18 21:15:47 +02:00
gilch
f4afb0ca7e variadic if
The `if` form now supports elif clauses.
It works like `cond` but without the implicit `do`.
The old `if` is now `if*`

variadic lif now supports "ellif" clauses.

Update if-no-waste compiler to use `if*` properly.

(Sometimes one character is all it takes.)

document if

reword truthiness
2015-10-17 19:51:03 -06:00
Tuukka Turto
6ea6777663 Merge branch 'master' into pr/975 2015-10-17 17:11:31 +03:00
Tuukka Turto
b9eb7721da Merge branch 'master' into pr/974 2015-10-17 17:06:43 +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
Csilla Nagyne Martinak
f73c862ffa docs: Document the (keyword) and (name) functions
Closes #733

Signed-off-by: Csilla Nagyne Martinak <csilla@csillger.hu>
2015-10-17 13:56:35 +02:00
Tuukka Turto
7a2be920fa Merge branch 'master' of github.com:hylang/hy into xor
Conflicts:
	hy/core/language.hy
2015-10-03 17:26:41 +03: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
9f88e07e1d Drop a set of brackets from let.
This changes let to use a flat list of symbol-value pairs instead of a
vector of vectors. One side effect is that (let [[a 1] z]) is not
expressible now, and one will explicitly need to set a nil value for z,
such as: (let [a 1 z nil]).

Closes #713.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2015-10-01 10:08:04 +02:00
Gergely Nagy
9569537f8c Merge pull request #929 from gilch/itertools
Itertools
2015-10-01 10:03:16 +02:00
Gergely Nagy
8ce9c0c313 Merge pull request #882 from algernon/glc/apply-mangle
Teach apply about symbol mangling
2015-10-01 10:02:38 +02:00
Gergely Nagy
26f342d580 Teach apply about symbol mangling
apply now mangles strings and keywords according to the Hy mangling
rules (by using the same function, now imported from
hy.lex.parser). With this change, if the dict passed to apply has
keywords, strings or quoted symbols, they'll get mangled, to turn them
into proper keys.

This only works for the cases where the keys are directly in the apply
params. A previously deffed dict, or key through a variable will not be
mangled.

This closes #219.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2015-09-24 09:47:12 +02:00
Michel Alexandre Salim
49a294e98d Update style-guide.rst
Re-indent `fib` examples to match that in original blog post - "Indentation shall be two spaces, except where matching the indentation of the previous line"
2015-09-23 00:39:08 +07:00
Paul Tagliamonte
fc5d74ba85 Add in documentation for non-base 10 numbers 2015-09-15 12:18:56 -04:00
Gregor Best
2e1b2ff591 Merge pull request #928 from gilch/partition
Enhanced partition
2015-09-06 16:54:23 +02:00
gilch
6f93de68d7 added remaining itertools
Some names have been changed.
Removed redundant zipwith.
Made `first` and `last` more efficient.
2015-09-03 11:45:55 -06:00
gilch
4896980373 enhance partition 2015-09-02 22:54:24 -06:00
Tim Martin
818ed5da72 Added documentation for the (keyword?) function 2015-08-31 20:35:37 +01:00