From 0afbbeb68c88215fc440a0d3f8723f6070f6f658 Mon Sep 17 00:00:00 2001 From: Paul Tagliamonte Date: Sun, 12 Jan 2014 18:53:08 -0500 Subject: [PATCH 01/15] Add (recur) for functions and stuff. --- hy/contrib/loop.hy | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/hy/contrib/loop.hy b/hy/contrib/loop.hy index 73526fa..91b24d9 100644 --- a/hy/contrib/loop.hy +++ b/hy/contrib/loop.hy @@ -55,6 +55,23 @@ (recursive-replace old-term new-term term)] [True term]) [term body]))) + +(defmacro/g! fnr [signature &rest body] + (let [[new-body (recursive-replace 'recur g!recur-fn body)]] + `(do + (import [hy.contrib.loop [--trampoline--]]) + (def ~g!recur-fn + (--trampoline-- (fn [~@signature] + ~@new-body))) + ~g!recur-fn))) + +(defmacro defnr [name lambda-list &rest body] + (if (not (= (type name) HySymbol)) + (macro-error name "defnr takes a name as first argument")) + `(setv ~name (fnr ~lambda-list ~@body))) + + + (defmacro loop [bindings &rest body] ;; Use inside functions like so: ;; (defun factorial [n] From 8ababcb905efe14bca982550ae25a644ed6b3f00 Mon Sep 17 00:00:00 2001 From: Paul Tagliamonte Date: Mon, 13 Jan 2014 20:24:12 -0500 Subject: [PATCH 02/15] add clinton --- docs/coreteam.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/coreteam.rst b/docs/coreteam.rst index 02b9c30..982df9d 100644 --- a/docs/coreteam.rst +++ b/docs/coreteam.rst @@ -12,3 +12,4 @@ * `Nicolas Dandrimont `_ * `Bob Tolbert `_ * `Berker Peksag `_ +* `Clinton N. Dreisbach `_ From 5a64f187264eef2ef9a8bcffac6ad3adc0ca5a3d Mon Sep 17 00:00:00 2001 From: Paul Tagliamonte Date: Mon, 13 Jan 2014 20:37:25 -0500 Subject: [PATCH 03/15] Refactor (loop) in terms of fnr; change to use decorator. --- hy/contrib/loop.hy | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/hy/contrib/loop.hy b/hy/contrib/loop.hy index 91b24d9..2c2690a 100644 --- a/hy/contrib/loop.hy +++ b/hy/contrib/loop.hy @@ -1,6 +1,7 @@ ;;; Hy tail-call optimization ;; ;; Copyright (c) 2014 Clinton Dreisbach +;; Copyright (c) 2014 Paul R. Tagliamonte ;; ;; Permission is hereby granted, free of charge, to any person obtaining a ;; copy of this software and associated documentation files (the "Software"), @@ -60,19 +61,19 @@ (let [[new-body (recursive-replace 'recur g!recur-fn body)]] `(do (import [hy.contrib.loop [--trampoline--]]) - (def ~g!recur-fn - (--trampoline-- (fn [~@signature] - ~@new-body))) + (with-decorator + --trampoline-- + (def ~g!recur-fn (fn [~@signature] ~@new-body))) ~g!recur-fn))) + (defmacro defnr [name lambda-list &rest body] (if (not (= (type name) HySymbol)) (macro-error name "defnr takes a name as first argument")) `(setv ~name (fnr ~lambda-list ~@body))) - -(defmacro loop [bindings &rest body] +(defmacro/g! loop [bindings &rest body] ;; Use inside functions like so: ;; (defun factorial [n] ;; (loop [[i n] @@ -84,13 +85,7 @@ ;; If recur is used in a non-tail-call position, None is returned, which ;; causes chaos. Fixing this to detect if recur is in a tail-call position ;; and erroring if not is a giant TODO. - (with-gensyms [recur-fn] - (let [[fnargs (map (fn [x] (first x)) bindings)] - [initargs (map second bindings)] - [new-body (recursive-replace 'recur recur-fn body)]] - `(do - (import [hy.contrib.loop [--trampoline--]]) - (def ~recur-fn - (--trampoline-- (fn [~@fnargs] - ~@new-body))) - (~recur-fn ~@initargs))))) + (let [[fnargs (map (fn [x] (first x)) bindings)] + [initargs (map second bindings)]] + `(do (defnr ~g!recur-fn [~@fnargs] ~@body) + (~g!recur-fn ~@initargs)))) From 94e1fc40f7117b95ff19dc1f2e9b0efeb52c3be6 Mon Sep 17 00:00:00 2001 From: Berker Peksag Date: Tue, 14 Jan 2014 06:08:54 +0200 Subject: [PATCH 04/15] Fix a markup error in the apply doc. See http://docs.hylang.org/en/latest/language/api.html#apply for the example. --- docs/language/api.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/language/api.rst b/docs/language/api.rst index 7883e9f..96c4086 100644 --- a/docs/language/api.rst +++ b/docs/language/api.rst @@ -110,6 +110,7 @@ Usage: `(apply fn-name [args] [kwargs])` Examples: .. code-block:: clj + (defn thunk [] "hy there") From 65e9d5ae7eb33a46bff5c2baba5cb4f126bd04ac Mon Sep 17 00:00:00 2001 From: rubberduckdev Date: Thu, 16 Jan 2014 01:25:43 +0200 Subject: [PATCH 05/15] Missing "of" --- docs/language/api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/language/api.rst b/docs/language/api.rst index 96c4086..b38e38c 100644 --- a/docs/language/api.rst +++ b/docs/language/api.rst @@ -36,7 +36,7 @@ languages. Builtins ======== -Hy features a number special forms that are used to help generate +Hy features a number of special forms that are used to help generate correct Python AST. The following are "special" forms, which may have behavior that's slightly unexpected in some situations. From 7d5399570ca8a92c9fafbb9c24a4a99a4df49406 Mon Sep 17 00:00:00 2001 From: rubberduckdev Date: Thu, 16 Jan 2014 01:45:34 +0200 Subject: [PATCH 06/15] Missing comma --- docs/language/api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/language/api.rst b/docs/language/api.rst index 96c4086..d0200e1 100644 --- a/docs/language/api.rst +++ b/docs/language/api.rst @@ -89,7 +89,7 @@ The following code demonstrates this: --- `->>` or `threading tail macro` is similar to `threading macro` but instead of -inserting each expression into the next expression’s first argument place it +inserting each expression into the next expression’s first argument place, it appends it as the last argument. The following code demonstrates this: .. code-block:: clj From 8bfa4f33fc1193941a6bf5c41474f06798b91241 Mon Sep 17 00:00:00 2001 From: Nicolas Dandrimont Date: Wed, 15 Jan 2014 23:55:33 +0100 Subject: [PATCH 07/15] Add set comprehensions, dict comprehensions and generator expressions Closes: #14 (woo, two-digit tickets) --- hy/_compat.py | 1 + hy/compiler.py | 113 +++++++++++++++++++++++++++------ tests/native_tests/language.hy | 37 ++++++++++- 3 files changed, 130 insertions(+), 21 deletions(-) diff --git a/hy/_compat.py b/hy/_compat.py index 37bb023..096282a 100644 --- a/hy/_compat.py +++ b/hy/_compat.py @@ -38,6 +38,7 @@ except ImportError: (x >> 24) & 0xff])) import sys +PY27 = sys.version_info >= (2, 7) PY3 = sys.version_info[0] >= 3 PY33 = sys.version_info >= (3, 3) PY34 = sys.version_info >= (3, 4) diff --git a/hy/compiler.py b/hy/compiler.py index 6e65b30..e9be303 100644 --- a/hy/compiler.py +++ b/hy/compiler.py @@ -39,7 +39,7 @@ from hy.errors import HyCompileError, HyTypeError import hy.macros from hy.macros import require, macroexpand -from hy._compat import str_type, long_type, PY33, PY3, PY34 +from hy._compat import str_type, long_type, PY27, PY33, PY3, PY34 import hy.importer import traceback @@ -1265,41 +1265,114 @@ class HyASTCompiler(object): ctx=ast.Load()) return ret + def _compile_generator_iterables(self, trailers): + """Helper to compile the "trailing" parts of comprehensions: + generators and conditions""" + + generators = trailers.pop(0) + + cond = self.compile(trailers.pop(0)) if trailers != [] else Result() + + gen_it = iter(generators) + paired_gens = zip(gen_it, gen_it) + + gen_res = Result() + gen = [] + for target, iterable in paired_gens: + comp_target = self.compile(target) + target = self._storeize(comp_target) + gen_res += self.compile(iterable) + gen.append(ast.comprehension( + target=target, + iter=gen_res.force_expr, + ifs=[])) + + if cond.expr: + gen[-1].ifs.append(cond.expr) + + return gen_res + cond, gen + @builds("list_comp") @checkargs(min=2, max=3) def compile_list_comprehension(self, expr): # (list-comp expr (target iter) cond?) expr.pop(0) expression = expr.pop(0) - tar_it = iter(expr.pop(0)) - targets = zip(tar_it, tar_it) - cond = self.compile(expr.pop(0)) if expr != [] else Result() - - generator_res = Result() - generators = [] - for target, iterable in targets: - comp_target = self.compile(target) - target = self._storeize(comp_target) - generator_res += self.compile(iterable) - generators.append(ast.comprehension( - target=target, - iter=generator_res.force_expr, - ifs=[])) - - if cond.expr: - generators[-1].ifs.append(cond.expr) + gen_res, gen = self._compile_generator_iterables(expr) compiled_expression = self.compile(expression) - ret = compiled_expression + generator_res + cond + ret = compiled_expression + gen_res ret += ast.ListComp( lineno=expr.start_line, col_offset=expr.start_column, elt=compiled_expression.force_expr, - generators=generators) + generators=gen) return ret + @builds("set_comp") + @checkargs(min=2, max=3) + def compile_set_comprehension(self, expr): + if PY27: + ret = self.compile_list_comprehension(expr) + expr = ret.expr + ret.expr = ast.SetComp( + lineno=expr.lineno, + col_offset=expr.col_offset, + elt=expr.elt, + generators=expr.generators) + + return ret + + expr[0] = HySymbol("list_comp").replace(expr[0]) + expr = HyExpression([HySymbol("set"), expr]).replace(expr) + return self.compile(expr) + + @builds("dict_comp") + @checkargs(min=3, max=4) + def compile_dict_comprehension(self, expr): + if PY27: + expr.pop(0) # dict-comp + key = expr.pop(0) + value = expr.pop(0) + + gen_res, gen = self._compile_generator_iterables(expr) + + compiled_key = self.compile(key) + compiled_value = self.compile(value) + ret = compiled_key + compiled_value + gen_res + ret += ast.DictComp( + lineno=expr.start_line, + col_offset=expr.start_column, + key=compiled_key.force_expr, + value=compiled_value.force_expr, + generators=gen) + + return ret + + # In Python 2.6, turn (dict-comp key value [foo]) into + # (dict (list-comp (, key value) [foo])) + + expr[0] = HySymbol("list_comp").replace(expr[0]) + expr[1:3] = [HyExpression( + [HySymbol(",")] + + expr[1:3] + ).replace(expr[1])] + expr = HyExpression([HySymbol("dict"), expr]).replace(expr) + return self.compile(expr) + + @builds("genexpr") + def compile_genexpr(self, expr): + ret = self.compile_list_comprehension(expr) + expr = ret.expr + ret.expr = ast.GeneratorExp( + lineno=expr.lineno, + col_offset=expr.col_offset, + elt=expr.elt, + generators=expr.generators) + return ret + @builds("apply") @checkargs(min=1, max=3) def compile_apply_expression(self, expr): diff --git a/tests/native_tests/language.hy b/tests/native_tests/language.hy index 11bf01a..cb75e66 100644 --- a/tests/native_tests/language.hy +++ b/tests/native_tests/language.hy @@ -525,7 +525,7 @@ (assert (= x 3)))) -(defn test-comprehensions [] +(defn test-list-comprehensions [] "NATIVE: test list comprehensions" (assert (= (list-comp (* x 2) (x (range 2))) [0 2])) (assert (= (list-comp (* x 2) (x (range 4)) (% x 2)) [2 6])) @@ -536,6 +536,41 @@ (assert (= (list-comp j (j [1 2])) [1 2]))) +(defn test-set-comprehensions [] + "NATIVE: test set comprehensions" + (assert (instance? set (set-comp x [x (range 2)]))) + (assert (= (set-comp (* x 2) (x (range 2))) (set [0 2]))) + (assert (= (set-comp (* x 2) (x (range 4)) (% x 2)) (set [2 6]))) + (assert (= (set-comp (* y 2) ((, x y) (.items {"1" 1 "2" 2}))) + (set [2 4]))) + (assert (= (set-comp (, x y) (x (range 2) y (range 2))) + (set [(, 0 0) (, 0 1) (, 1 0) (, 1 1)]))) + (assert (= (set-comp j (j [1 2])) (set [1 2])))) + + +(defn test-dict-comprehensions [] + "NATIVE: test dict comprehensions" + (assert (instance? dict (dict-comp x x [x (range 2)]))) + (assert (= (dict-comp x (* x 2) (x (range 2))) {1 2 0 0})) + (assert (= (dict-comp x (* x 2) (x (range 4)) (% x 2)) {3 6 1 2})) + (assert (= (dict-comp x (* y 2) ((, x y) (.items {"1" 1 "2" 2}))) + {"2" 4 "1" 2})) + (assert (= (dict-comp (, x y) (+ x y) (x (range 2) y (range 2))) + {(, 0 0) 0 (, 1 0) 1 (, 0 1) 1 (, 1 1) 2}))) + + +(defn test-generator-expressions [] + "NATIVE: test generator expressions" + (assert (not (instance? list (genexpr x [x (range 2)])))) + (assert (= (list (genexpr (* x 2) (x (range 2)))) [0 2])) + (assert (= (list (genexpr (* x 2) (x (range 4)) (% x 2))) [2 6])) + (assert (= (list (sorted (genexpr (* y 2) ((, x y) (.items {"1" 1 "2" 2}))))) + [2 4])) + (assert (= (list (genexpr (, x y) (x (range 2) y (range 2)))) + [(, 0 0) (, 0 1) (, 1 0) (, 1 1)])) + (assert (= (list (genexpr j (j [1 2]))) [1 2]))) + + (defn test-defn-order [] "NATIVE: test defn evaluation order" (setv acc []) From 6c15f14ff715389d0116dc3d6529a357ed9c02f7 Mon Sep 17 00:00:00 2001 From: rubberduckdev Date: Thu, 16 Jan 2014 02:13:05 +0200 Subject: [PATCH 08/15] Correcting a typo --- docs/language/api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/language/api.rst b/docs/language/api.rst index 96c4086..0776f40 100644 --- a/docs/language/api.rst +++ b/docs/language/api.rst @@ -283,7 +283,7 @@ do / progn the `do` and `progn` forms are used to evaluate each of their arguments and return the last one. Return values from every other than the last argument are discarded. It can be used in `lambda` or `list-comp` to perform more complex -logic as show by one of the examples. +logic as shown by one of the examples. Some example usage: From e50ca4fc078df08c5a8bd9c45e8eb19bc176f4a9 Mon Sep 17 00:00:00 2001 From: Yuval Langer Date: Wed, 15 Jan 2014 18:44:16 +0200 Subject: [PATCH 09/15] Correcting typos. --- AUTHORS | 1 + docs/hacking.rst | 2 +- docs/language/api.rst | 4 ++-- docs/tutorial.rst | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/AUTHORS b/AUTHORS index 09c2e2e..0d77a98 100644 --- a/AUTHORS +++ b/AUTHORS @@ -35,3 +35,4 @@ * Thom Neale * Tuukka Turto * Vasudev Kamath +* Yuval Langer diff --git a/docs/hacking.rst b/docs/hacking.rst index 0a35898..4329c68 100644 --- a/docs/hacking.rst +++ b/docs/hacking.rst @@ -97,7 +97,7 @@ core team. Additional review is clearly welcome, but we need a minimum of 2 signoffs for any change. If a core member is sending in a PR, please find 2 core members that don't -include them PR submitter. The idea here is that one can work with the PR +include the PR submitter. The idea here is that one can work with the PR author, and a second acks the entire change set. If the change is adding documentation, feel free to just merge after one diff --git a/docs/language/api.rst b/docs/language/api.rst index 96c4086..7ae94f8 100644 --- a/docs/language/api.rst +++ b/docs/language/api.rst @@ -430,7 +430,7 @@ defmacro `defmacro` is used to define macros. The general format is `(defmacro [parameters] expr)`. -Following example defines a macro that can be used to swap order of elements in +The following example defines a macro that can be used to swap order of elements in code, allowing the user to write code in infix notation, where operator is in between the operands. @@ -1167,7 +1167,7 @@ yield The generator is iterable and therefore can be used in loops, list comprehensions and other similar constructs. -Especially the second example shows how generators can be used to generate +The function random-numbers shows how generators can be used to generate infinite series without consuming infinite amount of memory. .. code-block:: clj diff --git a/docs/tutorial.rst b/docs/tutorial.rst index c856cf7..819b7cd 100644 --- a/docs/tutorial.rst +++ b/docs/tutorial.rst @@ -406,7 +406,7 @@ The same thing in Hy:: ... [3, 2, 1, 4] -See how we use kwapply to handle the fancy pssing? :) +See how we use kwapply to handle the fancy passing? :) There's also a dictionary-style keyword arguments construction that looks like: From 685a1b80fa19e0d91d5e3a7b835587d6cdd2e9a9 Mon Sep 17 00:00:00 2001 From: Berker Peksag Date: Thu, 16 Jan 2014 14:08:18 +0200 Subject: [PATCH 10/15] Silence a "Title underline too short" warning. --- docs/language/core.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/language/core.rst b/docs/language/core.rst index deaf16b..1b31dc7 100644 --- a/docs/language/core.rst +++ b/docs/language/core.rst @@ -9,7 +9,7 @@ Core Functions .. _is-coll-fn: coll? ----- +----- .. versionadded:: 0.9.13 From ceb615d0102f92fee4703fb888f73f57d9ec5e2c Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Mon, 13 Jan 2014 22:19:25 +0100 Subject: [PATCH 11/15] hy/lex/parser.py: Move most of the identifier mangling into a def As a refactoring step, move the identifier mangling done in t_identifier into a separate def. Signed-off-by: Gergely Nagy --- hy/lex/parser.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/hy/lex/parser.py b/hy/lex/parser.py index 72f0d8f..1eee798 100644 --- a/hy/lex/parser.py +++ b/hy/lex/parser.py @@ -242,14 +242,19 @@ def t_identifier(p): if obj.startswith("&"): return HyLambdaListKeyword(obj) - if obj.startswith("*") and obj.endswith("*") and obj not in ("*", "**"): - obj = obj[1:-1].upper() + def mangle(p): + if p.startswith("*") and p.endswith("*") and p not in ("*", "**"): + p = p[1:-1].upper() - if "-" in obj and obj != "-": - obj = obj.replace("-", "_") + if "-" in p and p != "-": + p = p.replace("-", "_") - if obj.endswith("?") and obj != "?": - obj = "is_%s" % (obj[:-1]) + if p.endswith("?") and p != "?": + p = "is_%s" % (p[:-1]) + + return p + + obj = mangle(obj) return HySymbol(obj) From e49ad3b3d5c53f236db6c8f747a4c64424104f89 Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Mon, 13 Jan 2014 22:27:44 +0100 Subject: [PATCH 12/15] tests/lex/test_lex.py: Add a few tests to cover identifier mangling Signed-off-by: Gergely Nagy --- tests/lex/test_lex.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/tests/lex/test_lex.py b/tests/lex/test_lex.py index af9f286..e8b7a9c 100644 --- a/tests/lex/test_lex.py +++ b/tests/lex/test_lex.py @@ -266,3 +266,31 @@ def test_lex_comment_382(): """Ensure that we can tokenize sources with a comment at the end""" entry = tokenize("foo ;bar\n;baz") assert entry == [HySymbol("foo")] + + +def test_lex_mangling_star(): + """Ensure that mangling starred identifiers works according to plan""" + entry = tokenize("*foo*") + assert entry == [HySymbol("FOO")] + entry = tokenize("*") + assert entry == [HySymbol("*")] + entry = tokenize("*foo") + assert entry == [HySymbol("*foo")] + + +def test_lex_mangling_hyphen(): + """Ensure that hyphens get translated to underscores during mangling""" + entry = tokenize("foo-bar") + assert entry == [HySymbol("foo_bar")] + entry = tokenize("-") + assert entry == [HySymbol("-")] + + +def test_lex_mangling_qmark(): + """Ensure that identifiers ending with a question mark get mangled ok""" + entry = tokenize("foo?") + assert entry == [HySymbol("is_foo")] + entry = tokenize("?") + assert entry == [HySymbol("?")] + entry = tokenize("im?foo") + assert entry == [HySymbol("im?foo")] From 8ef02a54b5f3e6471963eac6c1308f043dfd7e24 Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Mon, 13 Jan 2014 22:36:53 +0100 Subject: [PATCH 13/15] hy/lex/parser.py: Add support for sub-object mangling With this patch, every identifier is split up along dots, each part gets separately mangled, and then it is all joined back together. This allows for fun stuff like (.foo? (Foo)), and even more contrived examples. Signed-off-by: Gergely Nagy --- hy/lex/parser.py | 2 +- tests/lex/test_lex.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/hy/lex/parser.py b/hy/lex/parser.py index 1eee798..f7264fb 100644 --- a/hy/lex/parser.py +++ b/hy/lex/parser.py @@ -254,7 +254,7 @@ def t_identifier(p): return p - obj = mangle(obj) + obj = ".".join([mangle(part) for part in obj.split(".")]) return HySymbol(obj) diff --git a/tests/lex/test_lex.py b/tests/lex/test_lex.py index e8b7a9c..93f862c 100644 --- a/tests/lex/test_lex.py +++ b/tests/lex/test_lex.py @@ -294,3 +294,11 @@ def test_lex_mangling_qmark(): assert entry == [HySymbol("?")] entry = tokenize("im?foo") assert entry == [HySymbol("im?foo")] + entry = tokenize(".foo?") + assert entry == [HySymbol(".is_foo")] + entry = tokenize("foo.bar?") + assert entry == [HySymbol("foo.is_bar")] + entry = tokenize("foo?.bar") + assert entry == [HySymbol("is_foo.bar")] + entry = tokenize(".foo?.bar.baz?") + assert entry == [HySymbol(".is_foo.bar.is_baz")] From 8ec2719e2d814471e5dfc834d9e1a6c68a20e43e Mon Sep 17 00:00:00 2001 From: f Date: Thu, 16 Jan 2014 11:01:32 +0200 Subject: [PATCH 14/15] Visual and text changes in quickstart page. Kind of beautifying. It also includes transparent versions of Cuddles. --- docs/_static/cuddles-transparent-small.png | Bin 0 -> 38102 bytes docs/_static/cuddles-transparent.png | Bin 0 -> 46963 bytes docs/quickstart.rst | 33 ++++++++++----------- 3 files changed, 16 insertions(+), 17 deletions(-) create mode 100644 docs/_static/cuddles-transparent-small.png create mode 100644 docs/_static/cuddles-transparent.png diff --git a/docs/_static/cuddles-transparent-small.png b/docs/_static/cuddles-transparent-small.png new file mode 100644 index 0000000000000000000000000000000000000000..1570db62db265a1095b17a589b7e688433a5ddd2 GIT binary patch literal 38102 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 literal 0 HcmV?d00001 diff --git a/docs/_static/cuddles-transparent.png b/docs/_static/cuddles-transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..8f16ebdbb4ff15e90ec19ada7cc7769462d04d60 GIT binary patch literal 46963 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 QU^lPzJw2R^U2C<47S1 zAz;Yr14Vv$xG@oq&U-#awPTv+jeDIsAeUExC<)ZGN8I~FO{cH}80pIyB zBiTZcfUM8ocWMfMo=e?gL1OK9%}&bDD_B{fE=psF{1rYu7bjS0iJCn0G+1=BS=PkR zWPKTpCFFe@zCJI!`={z8_Opt$wh;G6>fVn_UQQzIp^(rSJ)6V>&x>*T+gETc90rOa z+t&my$j>;CL^HOktSA!zGBc5O@trzaGuYbD(cQxNB+12EEoDgKiU|zO&fQwtq@L#*fMms|66#&`Sqlei6{3DnVv6h|t6G3sJVL6)GCKV740X>CcALgTbg!5B-|n0@GU zHvF$y37;lIg4J{oPHIZpZp-_8V-8qr`-f1FI53ky$M=IP?9sQK}4zaFFHB>kQ0 zPRNc*Q%qU%_~_|R8Dq{YwBqB6D4MZ*~4c!V{m$lQAZ^Q`*G%`XN5naLb`oKIwu-f>xvjfIsxmh!aN5-A0}Sp60x| zNsgF9M*lXTk&Gs6I3`pOMP<2dhODC;mxPGQX~Aut=(TxAefm9af~r66WKciqu6P7d zw0nJ$B%}(fh7e4&>Z|D-QMe+q8~L7Af0=9%bX;*NAH3K3i3*%oSbc<_sd`uLt{H9R zmYG&%L@eODw4@A5jYOh)B-kjzHYsR}*?+^d{|2~v>Lip5Awd)b<3(}+WvnrOWsu0O zeU7|mI{2?jj~J7>wOYp3v(0pR3~5BlJNv~=E+Z360M8bDa-U}*dct1HEJIy`>=sZo z;lwoH3%0F4s8Xle`B}@+elIQR_ilW`IalTn{%v$_Ka;^L$x1Gv%9xW57W{lBprxW-!q zd#_&XFfaY}Eg-?_v%i561C>YXW&}aoF?z?2DbcwPcK@fJ z2JA@r=~#KD2qLI}v^8_Dq0?CcBt|shfWX)_K0VfDQ#55Ex9hMOPd`*RF&1`ie-&vd z`r^Wh`L z-%|9lT~r?Vddpz+o8#eq5Pm0sS^nPEpW9!w5>5FNLPP?KHJVaKTuI}PI60=8sb`=+ z7+Q_s6}=W>ArkV)BX6W$&V{d$C&NQAGrRw+DF1C;el6dDqjFJvb-X-rnkT{L!oBrx zqZgvQB`isHzPZ39a?MU4N|n0k<=P?V=U@STZ3Ev|Q;v%Oqy^96VRxy~i0WtxZCt9~ z=9-d-z~p*W8C{8iVZ2UocGH+O5t~a2tBe}lzz>uN0w zbotHwC?BfJ&9!PE8Ja!u$7HFRRy3H%_s+$FKIVC!8%S)IcB=9~HP{_vqBW8mEpvDr?A-iciOXC(lSLJi?vEXaZrR&=+@xcF1Ei>( zc4&+dGgNkg$7X`9Zvq5op6}Z}vhqRsPZ)KwidS<|Vz*OS1C5At9ml1Mg$Rd85Y
  • gp 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 literal 0 HcmV?d00001 diff --git a/docs/quickstart.rst b/docs/quickstart.rst index 5bdb130..79a9255 100644 --- a/docs/quickstart.rst +++ b/docs/quickstart.rst @@ -2,20 +2,20 @@ Quickstart ========== -.. image:: _static/cuddles.png +.. image:: _static/cuddles-transparent-small.png :alt: Karen Rustard's Cuddles -(thanks to Karen Rustad for Cuddles!) +(Thanks to Karen Rustad for Cuddles!) -HOW TO GET HY REAL FAST: +**HOW TO GET HY REAL FAST**: -1. create a `Python virtual environment +1. Create a `Virtual Python Environment `_ -2. activate your Python virtual environment -3. ``pip install hy`` -4. start a REPL with ``hy`` -5. type stuff in the REPL:: +2. Activate your Virtual Python Environment +3. Install `hy from PyPI `_ with ``pip install hy`` +4. Start a REPL with ``hy`` +5. Type stuff in the REPL:: => (print "Hy!") Hy! @@ -25,20 +25,19 @@ HOW TO GET HY REAL FAST: etc -6. hit CTRL-D when you're done +6. Hit CTRL-D when you're done OMG! That's amazing! I want to write a hy program. -7. open up an elite programming editor -8. type:: +7. Open up an elite programming editor and type:: - (print "i was going to code in python syntax, but then i got hy") + (print "I was going to code in python syntax, but then I got hy.") -9. save as ``test_program_of_awesome.hy`` -10. run:: +8. Save as ``awesome.hy`` +9. And run your first Hy program:: - hy test_program_of_awesome.hy + hy awesome.hy -11. take a deep breath so as to not hyperventilate -12. smile villainously and sneak off to your hydeaway and do +10. Take a deep breath so as to not hyperventilate +11. Smile villainously and sneak off to your hydeaway and do unspeakable things From d4bc17461ca6eff97829319d4c491cb1a0c3ef0a Mon Sep 17 00:00:00 2001 From: Berker Peksag Date: Fri, 17 Jan 2014 04:04:23 +0200 Subject: [PATCH 15/15] Add @f to AUTHORS. --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index 0d77a98..775db60 100644 --- a/AUTHORS +++ b/AUTHORS @@ -36,3 +36,4 @@ * Tuukka Turto * Vasudev Kamath * Yuval Langer +* Fatih Kadir Akın