gf3 / cljbin Goto Github PK
View Code? Open in Web Editor NEWA Clojure pastebin with code evaluation.
Home Page: http://cljbin.com/
A Clojure pastebin with code evaluation.
Home Page: http://cljbin.com/
Instead of having to maintain a database, wouldn't it be possible to store the pasted Clojure code in the URI data attribute? In order to get a usable URL just run it automatically through a URL shortener.
It would still need a Clojure evaluation backend though.
While editing a tab expands (visually) to 8 spaces. After pasting it is display as a single space and thus the layout is corrupt.
Example at http://cljbin.com/paste/52579f24e4b01f853da4737d
The line " (update-in results [t] conj item)" starts with a tab.
I've got the following ring stacktrace when I've tried to paste some text:
clojure.lang.LispReader$ReaderException: java.lang.NumberFormatException: Invalid number: 1.7.1
LispReader.java:215 clojure.lang.LispReader.read
core.clj:3344 clojure.core/read
core.clj:3342 clojure.core/read
eval.clj:15 cljbin.eval/read-string-safely[fn]
core.clj:4518 clojure.core/repeatedly[fn]
LazySeq.java:42 clojure.lang.LazySeq.sval
LazySeq.java:60 clojure.lang.LazySeq.seq
RT.java:466 clojure.lang.RT.seq
core.clj:133 clojure.core/seq
core.clj:2509 clojure.core/take-while[fn]
LazySeq.java:42 clojure.lang.LazySeq.sval
LazySeq.java:60 clojure.lang.LazySeq.seq
Cons.java:39 clojure.lang.Cons.next
RT.java:580 clojure.lang.RT.next
core.clj:64 clojure.core/next
core.clj:2724 clojure.core/dorun
core.clj:2739 clojure.core/doall
eval.clj:15 cljbin.eval/read-string-safely
eval.clj:50 cljbin.eval/run
paste.clj:12 cljbin.model.paste/create!
paste_actions.clj:17 cljbin.actions.paste-actions/put
RestFn.java:408 clojure.lang.RestFn.invoke
Var.java:401 clojure.lang.Var.invoke
paste_filters.clj:15 cljbin.filters.paste-filters/eval345[fn]
MultiFn.java:167 clojure.lang.MultiFn.invoke
routes.clj:76 ciste.routes/invoke-action
routes.clj:93 ciste.routes/resolve-route
routes.clj:103 ciste.routes/resolve-routes[fn]
core.clj:2432 clojure.core/map[fn]
LazySeq.java:42 clojure.lang.LazySeq.sval
LazySeq.java:60 clojure.lang.LazySeq.seq
RT.java:466 clojure.lang.RT.seq
core.clj:133 clojure.core/seq
core.clj:2468 clojure.core/filter[fn]
LazySeq.java:42 clojure.lang.LazySeq.sval
LazySeq.java:67 clojure.lang.LazySeq.seq
LazySeq.java:82 clojure.lang.LazySeq.first
RT.java:559 clojure.lang.RT.first
core.clj:55 clojure.core/first
routes.clj:103 ciste.routes/resolve-routes[fn]
core.clj:98 compojure.core/routing[fn]
core.clj:2388 clojure.core/some
core.clj:98 compojure.core/routing
RestFn.java:139 clojure.lang.RestFn.applyTo
core.clj:602 clojure.core/apply
core.clj:103 compojure.core/routes[fn]
file.clj:26 ring.middleware.file/wrap-file[fn]
file_info.clj:40 ring.middleware.file-info/wrap-file-info[fn]
reload_modified.clj:15 ring.middleware.reload-modified/wrap-reload-modified[fn]
keyword_params.clj:27 ring.middleware.keyword-params/wrap-keyword-params[fn]
nested_params.clj:65 ring.middleware.nested-params/wrap-nested-params[fn]
params.clj:76 ring.middleware.params/wrap-params[fn]
multipart_params.clj:103 ring.middleware.multipart-params/wrap-multipart-params[fn]
flash.clj:14 ring.middleware.flash/wrap-flash[fn]
session.clj:40 ring.middleware.session/wrap-session[fn]
cookies.clj:150 ring.middleware.cookies/wrap-cookies[fn]
middleware.clj:10 ciste.middleware/wrap-http-serialization[fn]
stacktrace.clj:15 ring.middleware.stacktrace/wrap-stacktrace-log[fn]
stacktrace.clj:79 ring.middleware.stacktrace/wrap-stacktrace-web[fn]
Var.java:401 clojure.lang.Var.invoke
jetty.clj:16 ring.adapter.jetty/proxy-handler[fn]
(Unknown Source) ring.adapter.jetty.proxy$org.mortbay.jetty.handler.AbstractHandler$0.handle
HandlerWrapper.java:152 org.mortbay.jetty.handler.HandlerWrapper.handle
Server.java:326 org.mortbay.jetty.Server.handle
HttpConnection.java:542 org.mortbay.jetty.HttpConnection.handleRequest
HttpConnection.java:943 org.mortbay.jetty.HttpConnection$RequestHandler.content
HttpParser.java:756 org.mortbay.jetty.HttpParser.parseNext
HttpParser.java:218 org.mortbay.jetty.HttpParser.parseAvailable
HttpConnection.java:404 org.mortbay.jetty.HttpConnection.handle
SocketConnector.java:228 org.mortbay.jetty.bio.SocketConnector$Connection.run
QueuedThreadPool.java:582 org.mortbay.thread.QueuedThreadPool$PoolThread.run
Caused by: java.lang.NumberFormatException Invalid number: 1.7.1
LispReader.java:253 clojure.lang.LispReader.readNumber
LispReader.java:171 clojure.lang.LispReader.read
Running pasted code is a very cool feature, but sometimes it just doesn't make sense (e.g. when pasting pseudocode).
Would be cool add a kinda of project.clj file so you can almost developm online with the lib that you need...
When you are able to connect a gist/bin to another would be not very difficult build a namespace system...
At this point you get a dinamic github...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.