Merge pull request #1609 from pyx/fix-doc-typo

Documentation improvement
This commit is contained in:
Kodi Arfer 2018-05-16 15:22:59 -07:00 committed by GitHub
commit 60c0f60a32
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 41 additions and 40 deletions

View File

@ -25,7 +25,7 @@ with the arity overloaded one. Inspired by Clojures take on ``defn``.
=> (fun 1 2 3)
"a b c"
=> (defn add [a b]
=> (defn add [a b]
... (+ a b))
=> (add 1 2)
3
@ -47,13 +47,13 @@ on the code by `Adam Bard`_.
=> (defmulti area [shape]
... "calculate area of a shape"
... (:type shape))
=> (defmethod area "square" [square]
... (* (:width square)
... (:height square)))
=> (defmethod area "circle" [circle]
... (* (** (:radius circle) 2)
... (* (** (:radius circle) 2)
... 3.14))
=> (default-method area [shape]
@ -75,7 +75,7 @@ at least key :type. The value that corresponds to this key is returned and
is used to selected between different implementations.
``defmethod`` defines a possible implementation for multimethod. It works
otherwise in the same way as ``defn``, but has an extra parameters
otherwise in the same way as ``defn``, but has an extra parameters
for specifying multimethod and which calls are routed to this specific
implementation. In the example, shapes with "square" as :type are routed to
first function and shapes with "circle" as :type are routed to second

View File

@ -16,12 +16,12 @@ Macros
profile/calls
--------------
``profile/calls`` allows you to create a call graph visualization.
``profile/calls`` allows you to create a call graph visualization.
**Note:** You must have `Graphviz <http://www.graphviz.org/Home.php>`_
installed for this to work.
Usage: `(profile/calls (body))`
Usage: `(profile/calls (body))`
Example:
@ -50,8 +50,8 @@ Example:
hey there
<pstats.Stats instance at 0x14ff320>
2 function calls in 0.000 seconds
Random listing order was used
ncalls tottime percall cumtime percall filename:lineno(function) 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
1 0.000 0.000 0.000 0.000 {print}

View File

@ -55,7 +55,7 @@ This results in the sequence ``[0 1 1 2 3 5 8 13 21 34 ...]``.
seq
===
Usage: ``(seq [n] (* n n)``
Usage: ``(seq [n] (* n n))``
Creates a sequence defined in terms of ``n``.

View File

@ -132,7 +132,7 @@ point per form via the name instead of always the first or last argument.
... :discovered {:year 1907
... :name "Sir Joseph Cooke Verco"}}])
;; retrieve name of first entry
;; retrieve name of first entry
=> (as-> (first data) it
... (:name it))
'hooded cuttlefish'
@ -164,7 +164,7 @@ point per form via the name instead of always the first or last argument.
.. note::
In these examples, the REPL will report a tuple (e.g. `('Sepia prashadi',
In these examples, the REPL will report a tuple (e.g. `('Sepia prashadi',
'Sepia prashadi')`) as the result, but only a single value is actually
returned.
@ -233,7 +233,7 @@ as the user enters *k*.
.. code-block:: clj
(while True (if (= "k" (raw-input "? "))
(while True (if (= "k" (input "? "))
(break)
(print "Try again")))
@ -296,7 +296,7 @@ As shown below, only the first matching result block is executed.
... (cond [(< value 5) (print "value is smaller than 5")]
... [(= value 5) (print "value is equal to 5")]
... [(> value 5) (print "value is greater than 5")]
... [True (print "value is something that it should not be")]))
... [True (print "value is something that it should not be")]))
=> (check-value 6)
value is greater than 5
@ -487,11 +487,11 @@ Parameters may have the following keywords in front of them:
=> (defn total-value [value &optional [value-added-tax 10]]
... (+ (/ (* value value-added-tax) 100) value))
=> (total-value 100)
=> (total-value 100)
110.0
=> (total-value 100 1)
101.0
=> (total-value 100 1)
101.0
&kwargs
Parameter will contain 0 or more keyword arguments.
@ -525,7 +525,7 @@ Parameters may have the following keywords in front of them:
=> (defn zig-zag-sum [&rest numbers]
(setv odd-numbers (list-comp x [x numbers] (odd? x))
even-numbers (list-comp x [x numbers] (even? x)))
even-numbers (list-comp x [x numbers] (even? x)))
(- (sum odd-numbers) (sum even-numbers)))
=> (zig-zag-sum)
@ -1115,8 +1115,8 @@ that ``import`` can be used.
;; import sys as systest
(import [tests.resources [kwtest function-with-a-dash]]
[os.path [exists
isdir :as dir?
isfile :as file?]]
isdir :as dir?
isfile :as file?]]
[sys :as systest])
;; Import all module functions into current namespace
@ -1398,7 +1398,7 @@ repexpr]])``, but a less error-prone approach is to change the definition of
(defmacro foo [n]
`(do
(require mymodule)
(mymodule.repexpr ~n (raw-input "Gimme some input: "))))
(mymodule.repexpr ~n (input "Gimme some input: "))))
It's wise to use ``(require mymodule)`` here rather than ``(require [mymodule
[repexpr]])`` to avoid accidentally shadowing a function named ``repexpr`` in
@ -1856,7 +1856,7 @@ will be 4 (``1+1 + 1+1``).
=> (addition 1 1)
4
=> (with-decorator inc2-decorator inc-decorator
... (defn addition [a b] (+ a b)))
... (defn addition [a b] (+ a b)))
=> (addition 1 1)
8

View File

@ -652,7 +652,7 @@ calling ``(f val-in-result val-in-latter)``.
.. code-block:: hy
=> (merge-with (fn [x y] (+ x y)) {"a" 10 "b" 20} {"a" 1 "c" 30})
=> (merge-with + {"a" 10 "b" 20} {"a" 1 "c" 30})
{u'a': 11L, u'c': 30L, u'b': 20L}
@ -1201,9 +1201,9 @@ if *from-file* ends before a complete expression can be parsed.
4
=> (import io)
=> (setv buffer (io.StringIO "(+ 2 2)\n(- 2 1)"))
=> (eval (read :from_file buffer))
=> (eval (read :from-file buffer))
4
=> (eval (read :from_file buffer))
=> (eval (read :from-file buffer))
1
=> (with [f (open "example.hy" "w")]
@ -1399,8 +1399,8 @@ are available. Some of their names have been changed:
- ``groupby`` has been changed to ``group-by``
- ``takewhile`` has been changed to ``take-while``
- ``dropwhile`` has been changed to ``drop-while``
- ``filterfalse`` has been changed to ``remove``

View File

@ -323,13 +323,13 @@ Will turn into::
else:
_temp_name_here = False
print _temp_name_here
print(_temp_name_here)
OK, that was a bit of a lie, since we actually turn that statement
into::
print True if True else False
print(True if True else False)
By forcing things into an ``ast.expr`` if we can, but the general idea holds.
@ -412,10 +412,11 @@ so our re-written ``nif`` would look like:
(defmacro nif [expr pos-form zero-form neg-form]
(with-gensyms [g]
`(setv [~g ~expr])
`(cond [(pos? ~g) ~pos-form]
[(zero? ~g) ~zero-form]
[(neg? ~g) ~neg-form])))
`(do
(setv ~g ~expr)
(cond [(pos? ~g) ~pos-form]
[(zero? ~g) ~zero-form]
[(neg? ~g) ~neg-form]))))
Finally, though we can make a new macro that does all this for us. :ref:`defmacro/g!`
will take all symbols that begin with ``g!`` and automatically call ``gensym`` with the

View File

@ -14,7 +14,7 @@ In addition to regular numbers, standard notation from Python 3 for non-base 10
integers is used. ``0x`` for Hex, ``0o`` for Octal, ``0b`` for Binary.
.. code-block:: clj
(print 0x80 0b11101 0o102 30)
Underscores and commas can appear anywhere in a numeric literal except the very

View File

@ -30,7 +30,7 @@ Quickstart
=> (+ "Hyllo " "World" "!")
'Hyllo ' + 'World' + '!'
'Hyllo World!'
*OMG! That's amazing! I want to write a Hy program.*

View File

@ -120,7 +120,7 @@ This is the basic premise of Lisp. Lisp stands for "list
processing"; this means that the structure of the program is
actually lists of lists. (If you're familiar with Python lists,
imagine the entire same structure as above but with square brackets
instead, any you'll be able to see the structure above as both a
instead, and you'll be able to see the structure above as both a
program and a data structure.) This is easier to understand with more
examples, so let's write a simple Python program, test it, and then
show the equivalent Hy program::
@ -472,7 +472,7 @@ like::
Return our copy of x
"""
return self.x
And we might use it like::
bar = FooBar(1)
@ -492,20 +492,20 @@ In Hy:
(defn get-x [self]
"Return our copy of x"
self.x))
And we can use it like:
.. code-block:: clj
(setv bar (FooBar 1))
(print (bar.get-x))
Or using the leading dot syntax!
.. code-block:: clj
(print (.get-x (FooBar 1)))
You can also do class-level attributes. In Python::