Comments (9)
I would prefer that as a function rather than a macro:
(resolved-symbol 'my.ns/my-fn)
This makes it more composeable.
from grasp.
OK, let's add rsym
but as a function.
from grasp.
I gather rsym
is to cryptic :) But if we have both resolved-symbol
and resolve-symbol
, don't we expose the user to a great riks of mixing them up?
from grasp.
Sorry, I missed the part about list
. Why do you need this? Often I think list?
should just be seq?
instead, since list?
doesn't match on (cons 1 [1 2 3])
for example.
from grasp.
Maybe I don't? The idea was that function calls in Clojure are calls so it would be natural to search for (list (rsym 'myns/myfn int?))
. But I guess seq works just as well and makes list unnecessary. A proper clojure dev should know that
from grasp.
I recommend using seq?
and to forget about list?
forever :).
from grasp.
Well, in this particular case I really, really want a list because fn calls cannot be lazy sequences :-)
But seq works fine it I guess it is worthwile keeping the api small
from grasp.
The parsed s-expression is usually not a lazy sequence, but it can be a Cons because of macro-expansions.
from grasp.
Ah
from grasp.
Related Issues (20)
- Port gist to library
- Add g/q macro that quotes everything automatically unless unquote is used
- Meander or core.match integration?
- Add missing core vars (for CLJ and CLJS) so resolve-symbol works for e.g. deftype
- Speed up analysis HOT 1
- Analyzing symbols with refer all in namespace, assume current workspace incorrectly
- Add reference to core specs in README
- Expand alias to fully qualified namespaces
- Should not fail when classpath dir doesn't exist HOT 2
- Allow to record more information for matches HOT 3
- Grasp doesn't seem to descend into macro forms HOT 5
- Cyclic load dependency in babashka HOT 2
- Support reading code from jar files and classpaths
- Add test
- Use :uri rather than :file
- Add support for nested namespace clauses
- False positive when searching for `(def <symbol?>)` HOT 1
- Add conform option to CLI HOT 1
- Add g/*, g/? and g/+ as aliases for (s/* any?), etc.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from grasp.