Commit Graph

57 Commits

Author SHA1 Message Date
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
Berker Peksag
3528cc8278 Kill kwapply.
Closes #433.
2014-04-09 20:10:31 +03:00
Brendan Curran-Johnson
ec4607d644 Quoting works
Hy seems to support quoting. I'm not familiar enough with lisp/hy to say much more
2014-03-13 04:51:43 +02:00
Christopher Allan Webber
6bc1bee24a Answer the question: is Hy a lisp flavored python or vice versa? The latter! 2014-02-24 09:55:11 -06:00
Christopher Allan Webber
ecfd737fb9 Document how to supply docstrings to classes and class methods / lambdas
We want to encourage good practice, documentation-wise, amongst Hy
users!
2014-02-23 15:20:43 -06:00
Berker Peksag
b8ef4ccc3c Update tutorial.
- Fix a couple of typos
- Use open() built-in instead of file()
- Update (for) and (with) examples
2014-01-30 08:27:25 +02:00
Jack Hooper
d028b8a7b2 Added closing bracket ']' 2014-01-18 22:22:33 +11:00
Jack Hooper
06d41f7cd0 Corrected chessboard example
A chessboard is 8 x 8. Yours was 8 x 9.
2014-01-18 16:33:40 +11:00
Yuval Langer
e50ca4fc07 Correcting typos. 2014-01-16 03:54:44 +02:00
Joe H. Rahme
3856467bf6 Uses square brackets for conds in docs 2013-10-16 18:31:18 +02:00
Joe H. Rahme
b761c7dc83 Fixes a mistake (most probably a typo) in the tutorial. 2013-07-21 02:59:35 +02:00
Joe H. Rahme
22370b9fcc Removes the repetition of the comment section in the tutorial 2013-06-21 17:30:23 +02:00
Christopher Allan Webber
0f266fee9b Move TODO from being an actual block of visible text to a comment
This is cleaner and more respectable :)
2013-05-20 18:26:36 -05:00
rogererens
65585434db Update tutorial.rst
I did some elaborate math checking...
2013-05-13 18:39:29 +02:00
Christopher Allan Webber
0571bab382 Return None in --init-- because due to a syntax flaw we have to! 2013-05-09 16:08:39 -05:00
Christopher Allan Webber
204bc9c39e Fixing *args and **kwargs notation in docs 2013-05-09 16:04:12 -05:00
Christopher Allan Webber
c5dbc39ee1 Fixing documentation error with extra double-colon 2013-05-09 16:02:25 -05:00
Christopher Allan Webber
b68d5ac3a3 Remove document classes TODO 2013-05-09 16:01:07 -05:00
Christopher Allan Webber
b4b3ab89f7 Documenting classes! 2013-05-09 16:00:30 -05:00
Christopher Allan Webber
5bd5620dd0 Dictionary style keyword arguments documentation 2013-05-09 15:48:02 -05:00
Christopher Allan Webber
0a362a2120 oh yeah, make this a clojure syntax block in the docs 2013-05-09 15:40:32 -05:00
Christopher Allan Webber
b6d730c044 Documenting: tuples and argument formatting 2013-05-09 15:35:47 -05:00
Christopher Allan Webber
60c1a1ba06 Docs: "Much more readable, no! -> Much more readable, no?" 2013-05-09 15:11:42 -05:00
Paul Tagliamonte
feabe3ff4a Merge branch 'master' into pr/125 2013-04-21 10:58:08 -04:00