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 clojure@googlegroups.com
Note that posts from new members
I want to use merge-with * to solve your problem. To do so, define a couple of
helper functions
(defn v-m [v] (into (sorted-map) (for [{:keys [id val]} v] [id val])))
(defn m-v [m] (mapv (fn [[k v]] {:id k :val v}) m))
that can convert your structure to and from sorted maps. With these,
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
Is there a way to indicate that a (ClojureScript) protocol is intended to
be used from the host?
Details:
I can define a protocol and an implementation of it in ClojureScript using
defprotocol and reify.
I can also successfully call methods on reified instances returned to the
host (Obj-C
Even without JIT available in JavaScriptCore, I have been unable to notice
a difference in the on-device performance of the “view controller” code I
have been writing when turning on :advanced.
Thanks for the suggestion, I'll go with :simple and :static-fns. The
reified protocol instance works
available in ClojureScript.
I'll ditch all of this when Apple introduces FunctionalSwift along with
functional APIs, and the Clojure(Swift) compiler targets that new language.
:)
- Mike
On Wednesday, June 18, 2014 2:48:33 PM UTC-4, Gary Trakhman wrote:
'any problem.. fixed.. by another layer
That's cool. I see no reason why Clojure / ClojureScript's “reach” can't
extend significantly into iOS.
On Wednesday, June 18, 2014 3:58:18 PM UTC-4, Gary Trakhman wrote:
I was just telling a local ios dev there's like five guys using clojure +
objective-c. To me it's impressive. To them,
I found the solution to the original question I had posed:
Is there a way to indicate the protocol names should be preserved?
(Analogous to the way ^:export can be used on function definitions.)
You simply need to place the meta directly in the method signature forms,
as illustrated here:
I can speak to existence but not optimality :)
I've use JProfiler, and my experience is that, just like debuggers work, so
does this particular profiler.
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to
It it perhaps reading the first line of your file and running it trough the
parser?
--
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
Just sharing a tooling hint:
If you are using IntelliJ / Cursive to edit ClojureScript (on a Mac at
least), opening a Terminal “pane” at the bottom of the IDE in order to run
`lein cljsbuild auto` is nice because you can readily see any errors or
warnings the ClojureScript compiler might emit.
Hi Colin,
I'm still in the habit of manually saving, but I've noticed that IntelliJ saves
quite often on its own.
I usually work with :whitespace optimizations so that compilation completes
within 3/10 s of saving. (I'm using this to build an iOS app using
JavaScriptCore, so this is much
Me too. I suspect it is an IntelliJ-specific problem, unrelated to Cursive.
Perhaps Colin has the ability and insight to see where the problem lies.
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to
Thanks. You're all awesome!
--
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
(Apologies to Greg for having essentially hijacked this thread, but I
suspect he'd find this cool.)
I have no experience with the Swift REPL yet, but I'm still finding this a
little surreal:
https://lh6.googleusercontent.com/-Z7ulXotc4N4/U6nCQgnWuPI/AJc/700UBdqm3d0/s1600/repl.jpg
Thanks David! Targeting ClojureScript to iOS just got an order of magnitude
easier for me.
I want to say that Colin Fleming (Cursive) has been extremely helpful in
helping me sort out how to achieve this.
--
You received this message because you are subscribed to the Google
Groups Clojure
That's cool!
What I haven't been able to figure out is if we actually get FTL with
JavaScriptCore on iOS 8, or better yet, if we can somehow gain access to a
JSContext from the WKWebView.
More detail: I'm using ClojureScript to develop what are otherwise native
iOS apps. (Meaning using UIKit,
I'm curious about this stuff too. (I'm very new to Clojure.)
I wouldn't be surprised if the general sentiment is: “Don't.”
The argument goes along these lines: By encapsulating, you have introduced a
tiny new little API that clients need to learn the semantics of. Additionally,
that API is
Normally, the initial elements of the namespace are used to create directories
and the last element matches the filename. So, for your first example, there
would be an a/b/c.clj file.
Perhaps this is at the root of the issue.
--
You received this message because you are subscribed to the
And alternatively you could declare the first namespace as being a.b.c.fileB
--
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
I think the root cause is that you need to follow the directory name and
filename conventions. For example clojure.java.jdbc is in a
clojure/java/jdbc.clj file
https://github.com/clojure/java.jdbc/blob/master/src/main/clojure/clojure/java/jdbc.clj
--
You received this message because
select-keys makes it easy to extract a portion of a map:
(select-keys {:id 1 :ts 2 :ignore 3} [:id :ts])
= {:ts 2, :id 1}
--
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
As a start, you could use group-by with a function that squashes together
items that fall in the same second and then count the size of each value.
(reduce-kv (fn [c k v] (assoc c k (count v))) {} (group-by #(quot % 1000)
epochs))
;= {1405060205 1, 1405060200 1, 1405060201 8, 1405060202 1}
My guess: Perhaps this is a bug, or alternatively, a known issue that won't
be addressed because to do so would be a breaking change.
There is an old demo of Clojure given by Rich where MapEntry's were printed
using some sort of un-readable notation #:foo 5. But clearly MapEntry's
have been
You could use frequencies:
user= (frequencies (map #(quot % 1000) epochs))
{1405060202 1, 1405060201 8, 1405060200 1, 1405060205 1}
--
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
MapEntry is a collection:
(coll? (clojure.lang.MapEntry. a 1))
;= true
(ancestors (class (clojure.lang.MapEntry. a 1)))
;= (a set that includes clojure.lang.IPersistentCollection)
The docstring for empty implies it would return an empty MapEntry. But
perhaps since MapEntry is a special
I did a little “code archaeology” in an attempt to elucidate what Rich may
had been thinking:
In mid 2007, some of the persistent collection implementations had an EMPTY
value defined. [1, 2]. (But, of course, no such EMPTY value was defined for
MapEntrys.)
Around a year later, MapEntrys were
In *Clojure Programming* (Emerick, Carper, Grand) a swap-pairs function is
defined in the section describing how empty allows you to write functions
against abstractions. That function operates on sequentials, and,
importantly, is carefully designed (invoking empty) so that its return type
is
, puzzler wrote:
As Mike points out, it does seem that MapEntry is considered a collection
and is designed to emulate a vector so that you don't really have to worry
about whether you have a MapEntry or a two-element vector (and as he points
out, in ClojureScript there really is no distinction
There actually is a queue implementation. Here is a way to use it for your
problem:
(defn make-moving-average-queue [n]
(atom {:lengthn
:current-total 0.0
:old-values(clojure.lang.PersistentQueue/EMPTY)}))
(defn update-moving-average-queue [old-queue next-value]
Hey Cecil,
In addition to using peek instead of first, as indicated by Plinio, the
moving-average function above uses some poor names, in hindsight,
especially the old-queue parameter name. I'd suggest naming it queue, as
it refers to an atom. You could even consider naming the function
My only gut reaction is that, without a root node, it doesn't seem that you
have XML. (It is certainly not a well formed document, and I would
suspect lots of XML tools/libraries would have difficulty coping with the
example you provided.)
--
You received this message because you are
-Java.
https://github.com/mthvedt/qarth
Qarth is brand new, so please let me know about any issues or rough edges
you encounter.
--Mike
mike.thv...@gmail.com
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure
with
OAuth--log in users and get a token to make requests. However, differences
between OAuth providers made code reuse difficult, despite a few attempts
at fixing the situation. This is the wheel I hope doesn't have to be
reinvented.
Mike
On Friday, July 25, 2014 8:16:44 AM UTC-5, Plinio Balduino
It's worth pointing out that var indirection is already cheap in Java--it
is generally dominated by IO, memory access, object construction, dynamic
dispatch... The JIT compiler will inline any var access if the var doesn't
visibly change, and only needs to check one word of memory per var each
I don't want to question your microbenchmarks, but I'm not sure you have
the correct interpretation.
Read memory fences have little to no cost. In particular, read memory
fences are a no-op (literally) on x86 unless the cache line is invalidated.
On Wednesday, August 6, 2014 5:54:32 AM UTC-5,
I didn't want to start a flame war, I just didn't want people being misled
into thinking static vars are a big perf improvement for most code. It's
better do use ordinary dynamic vars unless you're sure it will be
beneficial for some tight loop somewhere. The usual case is the JIT inlines
the
Read up on atoms. The results of your conj call are being discarded.
For example, check out the behavior of this:
(def urls2 (atom []))
(swap! urls2 conj http://foo.bar;)
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send
Thomas is absolutely right, Philippe.
Things also get easier if you avoid, or defer side effects, and first focus
on pure functions.
So, for example at the REPL, you might first try processing a literal
sequence of lines, repeatedly adjusting the processing code, tweaking the
regex, until you
Just a note - juxt/jig isn't being maintained, and has been replaced by
juxt/modular. Modular is based on Stuart Sierra's component library, and
mainly consists of several pre-built components and some nice helpers for
wiring and configuring components. It also plays well with juxt/ceylon,
Daniel: Haha, yes! Shame that I tried to be smooth in open sourcing it, and
managed to botch it in the worst possible manner.
Rangel: I can't speak to ZeroMQ, but I chose HornetQ because of its
performance, support for transactions, and support for clustering. That
being said, everything that
Thanks for putting it up so fast!
--
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
, or
to-chan on collections read directly from memory.
- Mike
On Saturday, September 27, 2014 5:01:36 AM UTC-4, mond wrote:
Hi James,
Er, nice tip on the routes - that was another thing that I didn't expect
to work but was happy when it did ;-) I will of course adapt it to your
recommendation
Please do. :)
On Mon, Sep 29, 2014 at 5:57 PM, Marcus Blankenship mar...@creoagency.com
wrote:
Cool, thanks Michael. Do you mind if I add it to the Clojure Learning
Resources repo page?
https://github.com/marcuscreo/clojure-learning-resources
On Sep 29, 2014, at 5:54 PM, Michael Drogalis
Here's a style question: If you have to conditionally do one set of side
effects or another set, is your preference to use when and when-not, or an
if containing do blocks? Or perhaps some other construct?
In terms of a concrete example:
(let [boolean-value (some-predicate?)]
(when
Can you use update-in or assoc-in?
On Friday, October 10, 2014 2:28:26 PM UTC-4, Dustin Getz wrote:
I have an arbitrarily nested EDN value stored in an atom in ClojureScript.
What is the best way to make edits to an arbitrary subtree of this value?
--
You received this message because you
Thanks all!
FWIW, the snake game in Programming Clojure has an example (where refs are
conditionally updated) which is consistent with the advice given here.
Two nice things I noticed in that example:
1. The first form inside do is kept on the same line (a small but nice
improvement reducing
To the point (b) it seems that this posts is saying the clj's = will not be
faster for keyword than string since the runtime type checking overhead is
where most time is spent. So the identity part of keyword equals doesn't show
its benefit here (unless these were long strings vs long keywords
To the point (b) it seems that this posts is saying the clj's = will not be
faster for keyword than string since the runtime type checking overhead is
where most time is spent. So the identity part of keyword equals doesn't show
its benefit here (unless these were long strings vs long keywords
To the point (b) it seems that this posts is saying the clj's = will not be
faster for keyword than string since the runtime type checking overhead is
where most time is spent. So the identity part of keyword equals doesn't show
its benefit here (unless these were long strings vs long keywords
Thanks for taking the time for the (detailed) clarification. I understand what
you were saying now.
:)
--
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
Hey Michael,
Since your eval solution essentially cookie-cutters out maps, each with
the same keys, as fast as it can, I was playing around with what would
happen if you used records, and I cobbled together something that appears
to run twice as fast as the eval approach:
(defn
In addition to Andy's caveats, remember that hash code equality doesn't
imply object equality.
In concrete terms,
a = b implies h(a) = h(b),
with the useful bit being
h(a) ≠ h(b) implies a ≠ b.
On Monday, October 13, 2014 2:04:57 AM UTC-4, Sunil Nandihalli wrote:
Hi,
Is the clojure
I can't remember if someone posted this already, and the thread is too long and
I am too lazy to go back and check, so I apologize if it's already been
mentioned.
Anyway, I found this talk very helpful when I started learning Clojure, getting
used to data-oriented thinking:
of observables, should this atom-as-seq-with-transducer
be easier? Should the IAtom interface or the add-watcher function be
changed to make this process easier?
Just a thought.
--
Mike
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post
Eric Normand has an interesting article on this here:
http://www.lispcast.com/core-async-code-style
--
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
I'm thinking Anton's persistent collections could be useful on iOS.
Out of curiosity, I made a small iOS project that compares the performance
of Anton's map to ClojureScript's, when adding lots of key-value pairs
(using transients): https://github.com/mfikes/persistent-objc-cljs
Colin - I'm just curious if you have any experience with Jetbrains MPS? I was
into it pretty heavily before I got into Clojure, and I've thought a lot about
how to add support for Clojure to it (would be pretty straightforward,
actually), but haven't had the time to pursue it or the conviction
I too was intrigued by this and cobbled together a quick test to see if
this made it possible to create command-line apps that start up more
quickly [1]. It appears that this is indeed the case, but, of course you
still need to pay JVM startup time.
I was also interested in what Sam Beran
Seconding the recommendation for the Clojure Gazette. If you aren't subscribed
already, just do it. It's a fantastic resource, and I am very grateful for
Eric Normand and the tireless effort he puts into it.
On a side note, I had the pleasure of meeting Eric at the Conj, and he is one
of the
For rest arguments, as in (defn foo [x r] r), when the remaining
arguments are rolled up into a sequence, you will get nil instead of an
empty sequence.
Is it fair to say that the rest nomenclature came about back at the
beginning of Clojure, when rest really did return nil, prior to the
Lucas,
Thanks for kicking off the discussion - great to see your proposal on this.
I think it will be really valuable if we can converge on a standard way of
representing this kind of data in Clojure/ClojureScript. Copying the
Incanter and main Clojure groups as well because I think there will
I'm not 100% sure and haven't really looked deeply at this comment or link
you mention, but perhaps this is related to
http://dev.clojure.org/jira/browse/CLJ-979.
This would only be the case for Clojure-dynamically generated Java classes
though, which is those from deftype or the macros built
I've recently seen the same error:
Loading test/cljs/classroom_checkout/test1.cljs... done
CompilerException java.lang.ClassFormatError: Unknown constant tag 117 in
class file classroom_checkout/utils_test$eval12853,
You are absolutely right, Andy. Getting out my bantha shears in order to
provide a good reduction for a bug report…
--
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
I found that the problem I'm experiencing is, in essence, the same issue as
discussed (and fixed) here
https://code.google.com/p/counterclockwise/issues/detail?id=429, but with
some new tool in my toolchain (Cursive/simple-brepl/Weasel).
TL;DR: Something produces a .class file that exceeds the
I did some digging and for those interested, this appears to be the way
piggieback and tools.nrepl work for ClojureScript.
Details are in the Cursive ticket:
https://github.com/cursiveclojure/cursive/issues/680
--
You received this message because you are subscribed to the Google
Groups
Here is a little belated Christmas present for Clojure data aficionados:
;; setup
(use 'clojure.core.matrix)
(set-current-implementation :vectorz)
;; create a big sparse matrix with a trillion elements (initially zero)
(def A (new-sparse-array [100 100]))
;; we are hopefully smart
!
On Saturday, December 27, 2014 4:56:55 AM UTC-5, Mike Anderson wrote:
Here is a little belated Christmas present for Clojure data aficionados:
;; setup
(use 'clojure.core.matrix)
(set-current-implementation :vectorz)
;; create a big sparse matrix with a trillion elements (initially zero
2014 09:43:54 UTC+8, Matt Revelle wrote:
On Dec 28, 2014, at 7:28 PM, Mike Anderson mike.r.anderson...@gmail.com
wrote:
Interesting idea. The challenge is that I'm not sure how to add
representation specification in an implementation independent way. It's a
quirk of vectorz that it has
Cool, I'll give your fork a try. I've been using lein-shell to just run sassc
directly, but it's annoying because sassc bombs if the target folder doesn't
exist.
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to
I haven't had a chance to really dig into Pedestal yet, but Ryan Neufeld did a
video sometime back that really opened my eyes to how Pedestal works:
http://youtu.be/sFT_0v-iKVQ
Pedestal is primarily focused on letting you provide your services (RESTful or
otherwise) while still providing some
Forgot to mention, as far as raw performance/latency of HTTP servers go, you
can find a comparison here:
https://github.com/ptaoussanis/clojure-web-server-benchmarks
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to
I completely agree that the order of arguments is backwards - precludes the use
of 'partial'.
Other than that, good job. Very clever idea.
--
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
Reported here: https://github.com/technomancy/leiningen/issues/1800
The workaround is to remove any wget or curl in your PATH, which will
force lein.bat to use powershell (when downloading from github).
On Monday, January 12, 2015 at 9:25:26 PM UTC+11, Jean Niklas L'orange
wrote:
Hi
,
auto-reloading etc.
Here's a template project for the combination of figwheel and reagent:
https://github.com/gadfly361/reagent-figwheel
On a different track, here's a way to use:optimizations :none
https://github.com/mike-thompson-day8/cljsbuild-none-test-seed
--
Mike
--
You received
I can say from experience that it's quite a bit easier to use component from
the beginning than to retrofit it, plus it solves the problem of controlling
startup order quite nicely (among others). If you're planning on using
component anyway, you might as well bite the bullet and start with it
Another thing to note is if you were using these maps as keys to a hash-based
associative structure, like a hash map, then you be aware that Clojure record
do not cache their hash code like other Clojure persistent map impls do.
I've had this eat up performance time in some scenarios before.
Sorry. That was a typo. I meant 1.8.
I'm just referring to the version tagged on the Jira.
--
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 -
On Tuesday, 6 January 2015 04:27:55 UTC+8, Christian Weilbach wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 05.01.2015 03:34, Mike Anderson wrote:
Very cool stuff!
Like yours! I wish nurokit was EPLed, then I could have had a look at
it and try to include it there. Have
Thanks Matt! I've just release Vectorz 0.45.0 including your changes.
A lot of sparse operations are much faster now!
On Monday, 29 December 2014 21:56:30 UTC+8, Matt Revelle wrote:
Yes, will do.
On Dec 28, 2014, at 9:58 PM, Mike Anderson mike.r.anderson...@gmail.com
wrote:
Looks like
Alex, 1.7.0-alpha5 looks OK to me. It passed with some regression testing
for an AOTd http-kit compojure / core.async REST server using Lucene,
clojure/java.jdbc / MySQL, Java 1.7.0_65 on Ubuntu 10.04.1 LTS.
--
You received this message because you are subscribed to the Google
Groups Clojure
My evolution is similar to Colin's, with more SWT than Swing. And I
understand where you're coming from - did Java for 15 years and C++ before
that. I didn't even really learn about functional programming until about
3 years ago, and after an aborted dive into learning Scala I switched to
I know it seems overwhelming, and if you try to keep up with all the latest
cool libraries,
--
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 -
, and I will be digging into your system
at the first opportunity. Thank you so much for sharing this work with the
community.
Mike
--
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
up ...
You'll need to change your :none hack as soon as you switch to
clojurescript v0.0.2719 :
https://github.com/mike-thompson-day8/cljsbuild-none-test-seed/blob/master/test.html#L112-L124
Cheers,
Mike
--
You received this message because you are subscribed to the Google
Groups Clojure
Very cool stuff!
I notice that you are specialising the RBM to a specific matrix
implementation (Clatrix / JBlas) in the file jblas.clj. Are you sure you
need to do that? Part of the beauty of core.matrix is that you should be
able to write your algorithms in an implementation-independent
We've been using Clojure at Cerner in the healthcare IT space.
--
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
If that is true, then it is a problem, indicative either of a widespread
lack of discipline among the tool makers or (more likely) a strong need for
some additional well-specified (and maintained!) APIs in the compiler for
tools to hook into.
Sometimes it is just a simple bug or lack
I just wanted to make people here aware that the Eclipse community is
discussing revising the Eclipse Public License. As the Clojure community
makes use of the EPL, some folks may be interested in the discussion.
Please see the mail archives at
This is the first new Clojure book that has looked interesting to me in some
time. I just picked it up, I'll let you know my thoughts when I've had time to
read through it.
--
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send
You also might want to check out this talk http://youtu.be/YHctJMUG8bI
In part of the talk, he describes how they generate symbols deterministically
to use in query fragments that can be predictably combined into Datomic
queries. Different application, but mostly the same requirements as you
There is value in comparing approaches, minus the personal attacks. I would
suggest starting a different thread, though.
Bringing this back to the original topic - I'm about 25% through the book, and
it is really good so far. Thank you Leonardo for writing what so far appears
to be a very
Hey folks! I started the screencast series Doing Computers at the beginning
of this month.
I wanted to share what I believe is the best of the three screencasts I've
released so far.
https://www.youtube.com/watch?v=8UYa8PV3CXQ
I managed to introduce a few obvious bugs while recording this
Hey Tony, try updating the version of Clojure in your project.clj to
1.7.0-beta1, which is used by 0.0-3211.
(In short, reader/read was given a second arity to allow options to be passed,
thus supporting #? conditional reading.)
--
You received this message because you are subscribed to the
This is exactly one of the reasons a bunch of folk ( aka, purests maybe )
don't like that map/filter etc. in Clojure convert the input collection
into seqs, unlike Haskell or others where the those monad laws keep you in
check that map/filter return the *same* container - so mapping a set
Thanks for sharing this. I found the write-up to be very informative and
to have good background sources.
I certainly never thought about this sneaky behavior concerning `seq` and
hash sets before now. I'll have to look out for that one!
On Tuesday, April 21, 2015 at 8:13:48 PM UTC-5, Andy
I agree about wanting to use the explicit argument name surrounded by markdown
quotes in docs. I've definitely started adopting this practice and wish there
were conventions around this sort of thing. Without it, doc strings can easily
get ambiguous and confusing in how they relate the the
I have found long docs like that to be useful in some major top-level function
if it has a large sort of input and configuration parameters to pass in.
Markdown I believe means with back ticks around the symbol to make it stand out
as an actual art name vs some other word in the sentence. I
In addition to what's already been pointed out, on a grander scale there's:
https://github.com/LonoCloud/synthread
On Tuesday, May 5, 2015 at 6:48:34 AM UTC+10, Kaiyin Zhong wrote:
Wouldn't be nice to have something like:
(- thing
(f1 ph arg2 arg3)
(f2 arg1 ph arg3)
601 - 700 of 794 matches
Mail list logo