thanks for the report, fixed

On Wed, Jun 18, 2014 at 1:30 AM, Mike Thompson <m.l.thompson...@gmail.com>
wrote:

>
> Colin, many thanks. Issue created:
> https://github.com/cgrand/sjacket/issues/19
>
>
> On Wednesday, June 18, 2014 4:08:53 AM UTC+10, Colin Jones wrote:
>
>> Yeah the latter version parses as 2 symbols in sjacket, whereas the defn
>> version parses as a single list.
>>
>> user=> (p/parser "top%")
>> #net.cgrand.parsley.Node{:tag :net.cgrand.sjacket.parser/root, :content
>> [#net.cgrand.parsley.Node{:tag :symbol, :content
>> [#net.cgrand.parsley.Node{:tag :name, :content ["top"]}]}
>> #net.cgrand.parsley.Node{:tag :symbol, :content
>> [#net.cgrand.parsley.Node{:tag :name, :content ["%"]}]}]}
>>
>> REPLy uses sjacket to split input expressions and send them each off to
>> nREPL in sequence, IIRC so that you get all results back from stuff like:
>>
>> user=> 1 2 3
>> 1
>> 2
>> 3
>>
>> So it treats the "top%" input basically the same as if there were
>> intervening whitespace, like "top %".
>>
>> From http://clojure.org/reader:
>> -----
>> Symbols begin with a non-numeric character and can contain alphanumeric
>> characters and *, +, !, -, _, and ? (other characters will be allowed
>> eventually, but not all macro characters have been determined). '/' has
>> special meaning, it can be used once in the middle of a symbol to separate
>> the namespace from the name, e.g. my-namespace/foo. '/' by itself names the
>> division function. '.' has special meaning - it can be used one or more
>> times in the middle of a symbol to designate a fully-qualified class name,
>> e.g. java.util.BitSet, or in namespace names. Symbols beginning or ending
>> with '.' are reserved by Clojure. Symbols containing / or . are said to be
>> 'qualified'. Symbols beginning or ending with ':' are reserved by Clojure.
>> A symbol can contain one or more non-repeating ':'s.
>> -----
>>
>> So it looks to me like that function name is illegal, and it's an
>> implementation detail that it currently is allowed to work.
>>
>> Usually parsing fixes for lein repl belong in sjacket (
>> https://github.com/cgrand/sjacket/issues), but I'm not 100% convinced
>> the parser should say top% is a legitimate symbol. But I'm also not
>> convinced it should ever be possible for 2 symbols to be right next to each
>> other with no intervening whitespace. Not sure what the right thing to do
>> is here. Let's discuss further in an issue on sjacket.
>>
>> Short-term workaround: `(do top%)`.
>>
>>
>> On Tuesday, June 17, 2014 9:54:25 AM UTC-5, daveray wrote:
>>>
>>> I believe this is a problem with the Leiningen REPL. It works fine from
>>> the built-in REPL:
>>>
>>> $ java -jar ~/.m2/repository/org/clojure/clojure/1.5.1/clojure-1.5.1.jar
>>> Clojure 1.5.1
>>> user=> (def top% 4)
>>> #'user/top%
>>> user=> top%
>>> 4
>>>
>>> Dave
>>>
>>>
>>>
>>>
>>> On Tue, Jun 17, 2014 at 1:32 AM, Mike Thompson <m.l.tho...@gmail.com>
>>> wrote:
>>>
>>>> At the REPL ...
>>>>
>>>>
>>>> user=> (def top% 4)       ;; an unusually named var
>>>> #'user/top%
>>>>
>>>> But later, it I try to use this var, trouble ...
>>>>
>>>> user=> top%
>>>>
>>>> CompilerException java.lang.RuntimeException: Unable to resolve symbol:
>>>> top in this context, compiling:(Local\Temp\form-
>>>> init6773082655831127234.clj:1:734)
>>>> CompilerException java.lang.RuntimeException: Unable to resolve symbol:
>>>> % in this context, compiling:(Local\Temp\form-
>>>> init6773082655831127234.clj:1:734)
>>>>
>>>>
>>>> Not sure what to make if this. Obviously % is a bit special.  And it is
>>>> certainly not a significant problem for me, at all.  Just seemed odd that
>>>> I'm allowed to successfully do the def, if it is just going to cause
>>>> problems later.
>>>>
>>>> --
>>>>
>>>> Mike
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Clojure" group.
>>>> To post to this group, send email to clo...@googlegroups.com
>>>> Note that posts from new members are moderated - please be patient with
>>>> your first post.
>>>> To unsubscribe from this group, send email to
>>>> clojure+u...@googlegroups.com
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/clojure?hl=en
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Clojure" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to clojure+u...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
> On Wednesday, June 18, 2014 4:08:53 AM UTC+10, Colin Jones wrote:
>>
>> Yeah the latter version parses as 2 symbols in sjacket, whereas the defn
>> version parses as a single list.
>>
>> user=> (p/parser "top%")
>> #net.cgrand.parsley.Node{:tag :net.cgrand.sjacket.parser/root, :content
>> [#net.cgrand.parsley.Node{:tag :symbol, :content
>> [#net.cgrand.parsley.Node{:tag :name, :content ["top"]}]}
>> #net.cgrand.parsley.Node{:tag :symbol, :content
>> [#net.cgrand.parsley.Node{:tag :name, :content ["%"]}]}]}
>>
>> REPLy uses sjacket to split input expressions and send them each off to
>> nREPL in sequence, IIRC so that you get all results back from stuff like:
>>
>> user=> 1 2 3
>> 1
>> 2
>> 3
>>
>> So it treats the "top%" input basically the same as if there were
>> intervening whitespace, like "top %".
>>
>> From http://clojure.org/reader:
>> -----
>> Symbols begin with a non-numeric character and can contain alphanumeric
>> characters and *, +, !, -, _, and ? (other characters will be allowed
>> eventually, but not all macro characters have been determined). '/' has
>> special meaning, it can be used once in the middle of a symbol to separate
>> the namespace from the name, e.g. my-namespace/foo. '/' by itself names the
>> division function. '.' has special meaning - it can be used one or more
>> times in the middle of a symbol to designate a fully-qualified class name,
>> e.g. java.util.BitSet, or in namespace names. Symbols beginning or ending
>> with '.' are reserved by Clojure. Symbols containing / or . are said to be
>> 'qualified'. Symbols beginning or ending with ':' are reserved by Clojure.
>> A symbol can contain one or more non-repeating ':'s.
>> -----
>>
>> So it looks to me like that function name is illegal, and it's an
>> implementation detail that it currently is allowed to work.
>>
>> Usually parsing fixes for lein repl belong in sjacket (
>> https://github.com/cgrand/sjacket/issues), but I'm not 100% convinced
>> the parser should say top% is a legitimate symbol. But I'm also not
>> convinced it should ever be possible for 2 symbols to be right next to each
>> other with no intervening whitespace. Not sure what the right thing to do
>> is here. Let's discuss further in an issue on sjacket.
>>
>> Short-term workaround: `(do top%)`.
>>
>>
>> On Tuesday, June 17, 2014 9:54:25 AM UTC-5, daveray wrote:
>>>
>>> I believe this is a problem with the Leiningen REPL. It works fine from
>>> the built-in REPL:
>>>
>>> $ java -jar ~/.m2/repository/org/clojure/clojure/1.5.1/clojure-1.5.1.jar
>>> Clojure 1.5.1
>>> user=> (def top% 4)
>>> #'user/top%
>>> user=> top%
>>> 4
>>>
>>> Dave
>>>
>>>
>>>
>>>
>>> On Tue, Jun 17, 2014 at 1:32 AM, Mike Thompson <m.l.tho...@gmail.com>
>>> wrote:
>>>
>>>> At the REPL ...
>>>>
>>>>
>>>> user=> (def top% 4)       ;; an unusually named var
>>>> #'user/top%
>>>>
>>>> But later, it I try to use this var, trouble ...
>>>>
>>>> user=> top%
>>>>
>>>> CompilerException java.lang.RuntimeException: Unable to resolve symbol:
>>>> top in this context, compiling:(Local\Temp\form-
>>>> init6773082655831127234.clj:1:734)
>>>> CompilerException java.lang.RuntimeException: Unable to resolve symbol:
>>>> % in this context, compiling:(Local\Temp\form-
>>>> init6773082655831127234.clj:1:734)
>>>>
>>>>
>>>> Not sure what to make if this. Obviously % is a bit special.  And it is
>>>> certainly not a significant problem for me, at all.  Just seemed odd that
>>>> I'm allowed to successfully do the def, if it is just going to cause
>>>> problems later.
>>>>
>>>> --
>>>>
>>>> Mike
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Clojure" group.
>>>> To post to this group, send email to clo...@googlegroups.com
>>>> Note that posts from new members are moderated - please be patient with
>>>> your first post.
>>>> To unsubscribe from this group, send email to
>>>> clojure+u...@googlegroups.com
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/clojure?hl=en
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Clojure" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to clojure+u...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
> On Wednesday, June 18, 2014 4:08:53 AM UTC+10, Colin Jones wrote:
>>
>> Yeah the latter version parses as 2 symbols in sjacket, whereas the defn
>> version parses as a single list.
>>
>> user=> (p/parser "top%")
>> #net.cgrand.parsley.Node{:tag :net.cgrand.sjacket.parser/root, :content
>> [#net.cgrand.parsley.Node{:tag :symbol, :content
>> [#net.cgrand.parsley.Node{:tag :name, :content ["top"]}]}
>> #net.cgrand.parsley.Node{:tag :symbol, :content
>> [#net.cgrand.parsley.Node{:tag :name, :content ["%"]}]}]}
>>
>> REPLy uses sjacket to split input expressions and send them each off to
>> nREPL in sequence, IIRC so that you get all results back from stuff like:
>>
>> user=> 1 2 3
>> 1
>> 2
>> 3
>>
>> So it treats the "top%" input basically the same as if there were
>> intervening whitespace, like "top %".
>>
>> From http://clojure.org/reader:
>> -----
>> Symbols begin with a non-numeric character and can contain alphanumeric
>> characters and *, +, !, -, _, and ? (other characters will be allowed
>> eventually, but not all macro characters have been determined). '/' has
>> special meaning, it can be used once in the middle of a symbol to separate
>> the namespace from the name, e.g. my-namespace/foo. '/' by itself names the
>> division function. '.' has special meaning - it can be used one or more
>> times in the middle of a symbol to designate a fully-qualified class name,
>> e.g. java.util.BitSet, or in namespace names. Symbols beginning or ending
>> with '.' are reserved by Clojure. Symbols containing / or . are said to be
>> 'qualified'. Symbols beginning or ending with ':' are reserved by Clojure.
>> A symbol can contain one or more non-repeating ':'s.
>> -----
>>
>> So it looks to me like that function name is illegal, and it's an
>> implementation detail that it currently is allowed to work.
>>
>> Usually parsing fixes for lein repl belong in sjacket (
>> https://github.com/cgrand/sjacket/issues), but I'm not 100% convinced
>> the parser should say top% is a legitimate symbol. But I'm also not
>> convinced it should ever be possible for 2 symbols to be right next to each
>> other with no intervening whitespace. Not sure what the right thing to do
>> is here. Let's discuss further in an issue on sjacket.
>>
>> Short-term workaround: `(do top%)`.
>>
>>
>> On Tuesday, June 17, 2014 9:54:25 AM UTC-5, daveray wrote:
>>>
>>> I believe this is a problem with the Leiningen REPL. It works fine from
>>> the built-in REPL:
>>>
>>> $ java -jar ~/.m2/repository/org/clojure/clojure/1.5.1/clojure-1.5.1.jar
>>> Clojure 1.5.1
>>> user=> (def top% 4)
>>> #'user/top%
>>> user=> top%
>>> 4
>>>
>>> Dave
>>>
>>>
>>>
>>>
>>> On Tue, Jun 17, 2014 at 1:32 AM, Mike Thompson <m.l.tho...@gmail.com>
>>> wrote:
>>>
>>>> At the REPL ...
>>>>
>>>>
>>>> user=> (def top% 4)       ;; an unusually named var
>>>> #'user/top%
>>>>
>>>> But later, it I try to use this var, trouble ...
>>>>
>>>> user=> top%
>>>>
>>>> CompilerException java.lang.RuntimeException: Unable to resolve symbol:
>>>> top in this context, compiling:(Local\Temp\form-
>>>> init6773082655831127234.clj:1:734)
>>>> CompilerException java.lang.RuntimeException: Unable to resolve symbol:
>>>> % in this context, compiling:(Local\Temp\form-
>>>> init6773082655831127234.clj:1:734)
>>>>
>>>>
>>>> Not sure what to make if this. Obviously % is a bit special.  And it is
>>>> certainly not a significant problem for me, at all.  Just seemed odd that
>>>> I'm allowed to successfully do the def, if it is just going to cause
>>>> problems later.
>>>>
>>>> --
>>>>
>>>> Mike
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>  --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Clojure" group.
>>>> To post to this group, send email to clo...@googlegroups.com
>>>> Note that posts from new members are moderated - please be patient with
>>>> your first post.
>>>> To unsubscribe from this group, send email to
>>>> clojure+u...@googlegroups.com
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/clojure?hl=en
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Clojure" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to clojure+u...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>  --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
On Clojure http://clj-me.cgrand.net/
Clojure Programming http://clojurebook.com
Training, Consulting & Contracting http://lambdanext.eu/

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to