Merge pull request #762 from larme/add-is-symbol-function
add `symbol?` function to `hy.core`
This commit is contained in:
commit
31edaf6dee
1
AUTHORS
1
AUTHORS
@ -58,3 +58,4 @@
|
|||||||
* Adam Schwalm <adamschwalm@gmail.com>
|
* Adam Schwalm <adamschwalm@gmail.com>
|
||||||
* Ilia Choly <ilia.choly@gmail.com>
|
* Ilia Choly <ilia.choly@gmail.com>
|
||||||
* Shrayas Rajagopal <shrayasr@gmail.com>
|
* Shrayas Rajagopal <shrayasr@gmail.com>
|
||||||
|
* Shenyang Zhao <dev@zsy.im>
|
||||||
|
@ -736,6 +736,23 @@ Returns ``True`` if *x* is a string.
|
|||||||
=> (string? -2)
|
=> (string? -2)
|
||||||
False
|
False
|
||||||
|
|
||||||
|
.. _symbol?-fn:
|
||||||
|
|
||||||
|
symbol?
|
||||||
|
-------
|
||||||
|
|
||||||
|
Usage: ``(symbol? x)``
|
||||||
|
|
||||||
|
Returns ``True`` if *x* is a symbol.
|
||||||
|
|
||||||
|
.. code-block:: hy
|
||||||
|
|
||||||
|
=> (symbol? 'foo)
|
||||||
|
True
|
||||||
|
|
||||||
|
=> (symbol? '[a b c])
|
||||||
|
False
|
||||||
|
|
||||||
.. _zero?-fn:
|
.. _zero?-fn:
|
||||||
|
|
||||||
zero?
|
zero?
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
(import sys)
|
(import sys)
|
||||||
(import [hy._compat [long-type]]) ; long for python2, int for python3
|
(import [hy._compat [long-type]]) ; long for python2, int for python3
|
||||||
(import [hy.models.cons [HyCons]]
|
(import [hy.models.cons [HyCons]]
|
||||||
|
[hy.models.symbol [HySymbol]]
|
||||||
[hy.models.keyword [HyKeyword *keyword-prefix*]])
|
[hy.models.keyword [HyKeyword *keyword-prefix*]])
|
||||||
(import [hy.lex [LexException PrematureEndOfInput tokenize]])
|
(import [hy.lex [LexException PrematureEndOfInput tokenize]])
|
||||||
|
|
||||||
@ -163,6 +164,10 @@
|
|||||||
"Return True if x is float"
|
"Return True if x is float"
|
||||||
(isinstance x float))
|
(isinstance x float))
|
||||||
|
|
||||||
|
(defn symbol? [s]
|
||||||
|
"Check whether s is a symbol"
|
||||||
|
(instance? HySymbol s))
|
||||||
|
|
||||||
(import [threading [Lock]])
|
(import [threading [Lock]])
|
||||||
(setv _gensym_counter 1234)
|
(setv _gensym_counter 1234)
|
||||||
(setv _gensym_lock (Lock))
|
(setv _gensym_lock (Lock))
|
||||||
@ -414,5 +419,5 @@
|
|||||||
interpose iterable? iterate iterator? keyword keyword? list*
|
interpose iterable? iterate iterator? keyword keyword? list*
|
||||||
macroexpand macroexpand-1 map merge-with name neg? nil? none?
|
macroexpand macroexpand-1 map merge-with name neg? nil? none?
|
||||||
nth numeric? odd? pos? range read remove repeat repeatedly
|
nth numeric? odd? pos? range read remove repeat repeatedly
|
||||||
rest reduce second some string string? take take-nth
|
rest reduce second some string string? symbol? take take-nth
|
||||||
take-while zero? zip zip_longest zipwith])
|
take-while zero? zip zip_longest zipwith])
|
||||||
|
@ -233,6 +233,14 @@
|
|||||||
(assert-true (float? -3.2))
|
(assert-true (float? -3.2))
|
||||||
(assert-false (float? "foo")))
|
(assert-false (float? "foo")))
|
||||||
|
|
||||||
|
(defn test-symbol? []
|
||||||
|
"NATIVE: testing the symbol? function"
|
||||||
|
(assert-false (symbol? "hello"))
|
||||||
|
(assert-false (symbol? [1 2 3]))
|
||||||
|
(assert-false (symbol? '[a b c]))
|
||||||
|
(assert-true (symbol? 'im-symbol))
|
||||||
|
(assert-false (symbol? (name 'im-symbol))))
|
||||||
|
|
||||||
(defn test-gensym []
|
(defn test-gensym []
|
||||||
"NATIVE: testing the gensym function"
|
"NATIVE: testing the gensym function"
|
||||||
(import [hy.models.symbol [HySymbol]])
|
(import [hy.models.symbol [HySymbol]])
|
||||||
|
Loading…
Reference in New Issue
Block a user