Commit Graph

576 Commits

Author SHA1 Message Date
Joseph Egan f1de9050ea Reduce scope of symbol replacement for anaphoric macros 2020-03-31 11:18:48 -04:00
redraiment 2b40dea54d Fixes #1875: parse-args requires values to be representable as Hy models
* Update argument spec parse logic of parse-args function.
* Update test case of parse-args function.
* Update document of parse-args function.
* Describe the change in NEWS file.
2020-03-31 10:44:26 -04:00
Raymund Martinez dd212cdd1b Fix misplaced `#@` tag macro 2020-03-11 10:08:49 +08:00
Kodi Arfer 170febb2e8 Implement chained comparisons 2020-01-09 14:04:12 -05:00
Kodi Arfer c7966920a6 Rewrite the documentation for most of `anaphoric`
Arguably, it's still not great. It's perhaps more terse than would be helpful. My goal for now is just to make sure that it's correct, and that it doesn't mislead with e.g. suggestions that these macros support only true lists, instead of arbitrary iterable objects.
2019-12-21 14:36:25 -05:00
Kodi Arfer e57bbb92db Use a gensym for `it` in anaphoric macros 2019-12-21 14:36:25 -05:00
Kodi Arfer 12ebadc4ee Documentation tweaks for `py` and `pys` 2019-12-20 10:54:27 -05:00
Kodi Arfer 2c5a19b12e Remove non-style information from the style guide 2019-12-05 15:27:40 -05:00
gilch 1663e5ccf5
Merge branch 'master' into style-update 2019-11-19 19:50:08 -07:00
Ryan Gonzalez 8c67cd0e2f
Merge pull request #1842 from Kodiologist/rm-multi
Remove hy.contrib.multi
2019-11-19 19:38:54 -06:00
Kodi Arfer 8872f0b44c Remove hy.contrib.multi 2019-11-18 20:06:17 -05:00
Ryan Gonzalez 50b34dd727
Merge pull request #1834 from Kodiologist/let-ns
Document gotcha with unintentional recursion in `let`
2019-11-15 15:40:16 -06:00
Kodi Arfer cb256fd618 Document gotcha with unintended recursion in `let` 2019-11-12 16:27:07 -05:00
Adam Porter 0f3d256ebf Add: parse-args function
Closes #1719.
2019-10-30 10:16:45 -05:00
Kodi Arfer f8d3826689
Merge pull request #1824 from refi64/drop-clint
Drop clint for colors in favor of colorama
2019-10-22 08:59:46 -04:00
Ryan Gonzalez 2f86801a14 Add documentation for annotations and `of` 2019-10-08 09:52:22 -05:00
Ryan Gonzalez 0579561b83 Drop clint for colors in favor of colorama
Closes #1820.
2019-10-08 09:50:15 -05:00
Ryan Gonzalez 06213cd46c Remove some trailing whitespace from docs 2019-10-08 09:40:15 -05:00
Kodi Arfer 8351ccf9d9 Allow inline Python 2019-09-17 12:04:03 -04:00
Kodi Arfer 80771ac99c Remove documentation of `print` in api.rst
There is no longer any such special form. We just use Python 3's built-in function.
2019-09-17 12:04:03 -04:00
Kodi Arfer f227f689d9 Advertise our Stack Overflow tag 2019-09-11 10:24:03 -04: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 1e77f38d10 Expand the documentation of `setv` 2019-08-19 13:53:48 -04:00
Kodi Arfer 627455a336 Add some documentation anchors 2019-08-19 13:53:48 -04:00
Kodi Arfer e5461f171c Update NEWS and documentation 2019-08-18 09:45:40 -04:00
lsusr 6929973d0d Fixed broken link to Graphviz 2019-08-17 00:39:04 -07:00
Kodi Arfer 0fcf570a3f Document `await` 2019-07-18 10:43:01 -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 704983ed44 Clean up coreteam.rst 2019-06-10 15:24:48 -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
Kodi Arfer e77ce92635 Simplify gensym format 2019-04-29 08:10:51 -04:00
Kodi Arfer 6c74cf1f07 Add `setx` for assignment expressions 2019-04-23 15:35:12 -04:00
Kodi Arfer 7b3ef423c1 Use html.escape instead of cgi.escape
cgi.escape is gone as of Python 3.8.
2019-04-23 15:35:12 -04:00
Tristan Cacqueray d793cee90a add `tuple?` function `hy.core`
`tuple?` will test if the argument is an instance of tuple.
2019-04-23 15:25:49 -04:00
Tristan Cacqueray b0ed103931 add `list?` function to `hy.core`
`list?` will test if the argument is an instance of list.
2019-04-09 00:07:10 +00:00
Tristan Cacqueray 920057c621 Fix typo for HyList model name in the language internal doc 2019-03-26 01:48:13 +00:00
Kodi Arfer 30fc1425c1 Update docs and README 2019-03-17 18:40:37 -04: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 83e56de0c5 Document format strings 2019-02-27 12:05:19 -05:00
digikar99 d312dd5df2 Fix a ReST underline 2019-02-20 12:47:27 -05:00
digikar99 247e64950d Clean up the documentation of `defclass` 2019-02-20 12:47:25 -05:00
Brandon T. Willard e468d5f081 Refactor REPL error handling and filter Hy internal trace output
These changes make the Hy REPL more closely follow `code.InteractiveConsole`'s
class interface and provide minimally intrusive traceback print-out filtering
via a context manager that temporarily alters `sys.excepthook`.  In other words,
exception messages from the REPL will no longer show Hy internal
code (e.g. importer, compiler and parsing functions).

The boolean variable `hy.errors._hy_filter_internal_errors` dynamically
enables/disables trace filtering, and the env variable
`HY_FILTER_INTERNAL_ERRORS` can be used as the initial value.
2019-02-07 13:43:58 -05:00
edouardklein 7d72e2fe74 Correct documentation of earmuff behavior
Another piece of fix #1714
2019-02-05 13:20:20 -05:00
Eli e4fd74af1b Clarifying &optional documentation (fixes #1722) 2019-01-20 17:11:52 -05:00
Eli 3d2be62d4b Add synonyms for argument unpacking, for text-search purposes 2019-01-19 13:33:54 -05:00
Kodi Arfer 70747a58c3 Fix an example in interop.rst 2018-12-29 19:57:18 -05:00
Brandon T. Willard 690416b3d6 Update description of `eval` in core.rst 2018-11-28 17:08:10 -06:00
Brandon T. Willard 87a5b117a1 Implement new importer using PEP-302 semantics
Python 3.x is patched in a way that integrates `.hy` source files into
Pythons default `importlib` machinery.  In Python 2.7, a PEP-302 "importer"
and "loader" is implemented according to the standard `import` logic (via
`pkgutil` and later pure-Python `imp` package code).

In both cases, the entry-point for the loaders is through `sys.path_hooks` only.
As well, the import semantics have been updated all throughout to utilize
`importlib` and follow aspects of PEP-420.  This, along with some light
patches, should allow for basic use of `runpy`, `py_compile` and `reload`.

In all cases, if a `.hy` file is shadowed by a `.py`, Hy will silently use
`.hy`.
2018-08-25 22:50:38 -05:00