Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

initial for clojure rewrite

  • Loading branch information...
commit 611d4d823a848edc7e3b56207689aeee716f0670 1 parent 67ebc78
@zk authored
Showing with 17 additions and 31,188 deletions.
  1. +0 −7 .autotest
  2. +8 −11 .gitignore
  3. +0 −6 .pair.io/config.yaml
  4. +0 −1  .rvmrc
  5. +0 −95 Capfile
  6. +0 −22 Gemfile
  7. +0 −79 Gemfile.lock
  8. +5 −41 README.md
  9. +0 −67 Rakefile
  10. +0 −3,894 app/cc_quick_ref.rb
  11. +0 −77 app/controllers/application_controller.rb
  12. +0 −19 app/controllers/comments_controller.rb
  13. +0 −128 app/controllers/examples_controller.rb
  14. +0 −11 app/controllers/feed_controller.rb
  15. +0 −358 app/controllers/main_controller.rb
  16. +0 −31 app/controllers/management_controller.rb
  17. +0 −152 app/controllers/see_also_controller.rb
  18. +0 −36 app/controllers/user_controller.rb
  19. +0 −107 app/controllers/user_sessions_controller.rb
  20. +0 −72 app/helpers/application_helper.rb
  21. +0 −9 app/models/example.rb
  22. +0 −103 app/models/function.rb
  23. +0 −31 app/models/library.rb
  24. +0 −2  app/models/library_import_log.rb
  25. +0 −2  app/models/library_import_task.rb
  26. +0 −26 app/models/namespace.rb
  27. +0 −20 app/models/see_also.rb
  28. +0 −30 app/models/user.rb
  29. +0 −4 app/models/user_session.rb
  30. +0 −99 app/views/_lib_namespaces.html.erb
  31. +0 −48 app/views/_missing_examples.html.erb
  32. +0 −54 app/views/_recently_updated.html.erb
  33. +0 −30 app/views/comments/_comment.html.erb
  34. +0 −17 app/views/comments/_edit_comment_form.html.erb
  35. +0 −22 app/views/examples/_edit_example_form.html.erb
  36. +0 −31 app/views/examples/_example.html.erb
  37. +0 −22 app/views/examples/view_changes.html.erb
  38. +0 −50 app/views/feed/recent_updates.rxml
  39. +0 −82 app/views/layouts/_header.html.erb
  40. +0 −144 app/views/layouts/main.html.erb
  41. +0 −135 app/views/layouts/management.html.erb
  42. +0 −10 app/views/main/_core_progress.html.erb
  43. +0 −16 app/views/main/_lib_nav.html.erb
  44. +0 −1  app/views/main/clojure_core.html.erb
  45. +0 −102 app/views/main/clojure_core_shortdesc.html.erb
  46. +0 −82 app/views/main/clojure_core_vars_only.html.erb
  47. +0 −186 app/views/main/examples_style_guide.html.erb
  48. +0 −306 app/views/main/function.html.erb
  49. +0 −116 app/views/main/index.html.erb
  50. +0 −79 app/views/main/lib.html.erb
  51. 0  app/views/main/lib_search.html.erb
  52. +0 −15 app/views/main/libs.html.erb
  53. +0 −87 app/views/main/ns.html.erb
  54. +0 −137 app/views/main/search.html.erb
  55. +0 −88 app/views/management/function.html.erb
  56. +0 −12 app/views/management/index.html.erb
  57. +0 −66 app/views/management/search.html.erb
  58. +0 −29 app/views/see_also/_see_also_content.html.erb
  59. +0 −15 app/views/user/_edit_profile.html.erb
  60. +0 −25 app/views/user/profile.html.erb
  61. +0 −17 app/views/user_sessions/create_new_openid_user.html.erb
  62. +0 −32 app/views/user_sessions/migrate_existing.html.erb
  63. +0 −67 app/views/user_sessions/new.html.erb
  64. +0 −124 config/boot.rb
  65. +0 −17 config/database.example.yml
  66. +0 −25 config/deploy.rb
  67. +0 −105 config/development.sphinx.conf
  68. +0 −16 config/environment.rb
  69. +0 −17 config/environments/development.rb
  70. +0 −30 config/environments/production.rb
  71. +0 −29 config/environments/test.rb
  72. +0 −7 config/initializers/backtrace_silencers.rb
  73. +0 −10 config/initializers/inflections.rb
  74. +0 −5 config/initializers/mime_types.rb
  75. +0 −21 config/initializers/new_rails_defaults.rb
  76. +0 −1  config/initializers/openid.rb
  77. +0 −15 config/initializers/session_store.rb
  78. +0 −5 config/locales/en.yml
  79. +0 −20 config/preinitializer.rb
  80. +0 −100 config/routes.rb
  81. +0 −3  config/sphinx.yml
  82. +0 −1,689 coverage/-Library-Ruby-Gems-1_8-gems-rcov-0_9_8-lib-rcov-code_coverage_analyzer_rb.html
  83. +0 −759 coverage/-Library-Ruby-Gems-1_8-gems-rcov-0_9_8-lib-rcov-differential_analyzer_rb.html
  84. +0 −122 coverage/index.html
  85. +0 −19 coverage/jquery-1.3.2.min.js
  86. +0 −15 coverage/jquery.tablesorter.min.js
  87. +0 −12 coverage/print.css
  88. +0 −42 coverage/rcov.js
  89. +0 −270 coverage/screen.css
  90. +0 −27 db/migrate/20100629072925_create_functions.rb
  91. +0 −15 db/migrate/20100629201124_create_examples.rb
  92. +0 −15 db/migrate/20100630041333_create_namespaces.rb
  93. +0 −15 db/migrate/20100630041340_create_libraries.rb
  94. +0 −21 db/migrate/20100701234309_acts_as_commentable_with_threading_migration.rb
  95. +0 −24 db/migrate/20100702073932_create_users.rb
  96. +0 −15 db/migrate/20100708210054_add_example_versioning.rb
  97. +0 −15 db/migrate/20100713045156_add_copyright_and_license_to_source.rb
  98. +0 −19 db/migrate/20100714065358_add_openid.rb
  99. +0 −20 db/migrate/20100714072431_add_open_id_authentication_tables.rb
  100. +0 −19 db/migrate/20100719024432_add_shortdoc_to_functions.rb
  101. +0 −60 db/migrate/20100724213838_switch_examples_to_user_id.rb
  102. +0 −16 db/migrate/20100809051551_create_library_import_tasks.rb
  103. +0 −15 db/migrate/20100810025848_create_see_alsos.rb
  104. +0 −17 db/migrate/20100810035748_add_voting.rb
  105. +0 −14 db/migrate/20100814013032_create_library_import_logs.rb
  106. +0 −46 db/migrate/20101005183717_add_versions.rb
  107. +0 −41 db/migrate/20101006031711_seo_urls.rb
  108. +0 −46 db/migrate/20101010021829_add_lib_ns_var_rels.rb
  109. +0 −11 db/migrate/20101010034343_remove_lib_ns_from_var.rb
  110. +0 −12 db/migrate/20101010212830_add_indexes_to_lib_ns_function.rb
  111. +0 −41 db/migrate/20101011035100_add_version_nums_to_third_party.rb
  112. +0 −24 db/migrate/20101014192108_add_flat_functions_view.rb
  113. +0 −64 db/migrate/20101014205638_add_flat_examples_comments_see_alsos_view.rb
  114. +0 −109 db/migrate/20101015063351_add_special_forms.rb
  115. +0 −109 db/migrate/20110926021317_add_special_forms130.rb
  116. +0 −19 db/migrate/20110926024801_remove_pallet.rb
  117. +0 −253 db/schema.rb
  118. +0 −7 db/seeds.rb
  119. +0 −2  doc/README_FOR_APP
  120. +0 −261 epl-v10.html
  121. +4 −0 project.clj
  122. +0 −62 public/404.html
  123. +0 −30 public/422.html
  124. +0 −62 public/500.html
  125. BIN  public/favicon.ico
  126. +0 −1  public/google6f2553f04b19a9bc.html
  127. BIN  public/images/Untitled.png
  128. BIN  public/images/ajax-loader-old.gif
  129. BIN  public/images/ajax-loader.gif
  130. BIN  public/images/arrow_down_16x16.png
  131. BIN  public/images/arrow_down_alt1_16x16.png
  132. BIN  public/images/arrow_right_24x24.png
  133. BIN  public/images/article_12x12.png
  134. BIN  public/images/bg_gradient.gif
  135. BIN  public/images/book_alt_16x16.png
  136. BIN  public/images/browser-rss.png
  137. BIN  public/images/calendar_12x12.png
  138. BIN  public/images/cd_logo.png
  139. BIN  public/images/chat_alt_stroke_16x16.png
  140. BIN  public/images/check_alt_12x12.png
  141. BIN  public/images/comment.png
  142. BIN  public/images/curly_bracket.png
  143. BIN  public/images/edit.png
  144. BIN  public/images/example.png
  145. BIN  public/images/favicon.png
  146. BIN  public/images/file-go.png
  147. BIN  public/images/magnifying_glass_16x16.png
  148. BIN  public/images/magnifying_glass_24x24.png
  149. BIN  public/images/magnifying_glass_32x32.png
  150. BIN  public/images/magnifying_glass_alt_16x16.png
  151. BIN  public/images/magnifying_glass_alt_24x24.png
  152. BIN  public/images/map_pin_stroke_16x16.png
  153. BIN  public/images/map_pin_stroke_24x24.png
  154. BIN  public/images/minus_12x12.png
  155. BIN  public/images/minus_alt_12x12.png
  156. BIN  public/images/pen_alt_fill_12x12.png
  157. BIN  public/images/plus_12x12.png
  158. BIN  public/images/plus_16x16.png
  159. BIN  public/images/post-it-edit.png
  160. BIN  public/images/rails.png
  161. BIN  public/images/read_more_16x16.png
  162. BIN  public/images/tab-edit.png
  163. BIN  public/images/trash.png
  164. BIN  public/images/trash_stroke_12x12.png
  165. BIN  public/images/x_11x11.png
  166. BIN  public/images/x_alt_12x12.png
  167. +0 −3,407 public/javascripts/all.js
  168. +0 −2  public/javascripts/application.js
  169. +0 −643 public/javascripts/cd.js
  170. +0 −963 public/javascripts/controls.js
  171. +0 −973 public/javascripts/dragdrop.js
  172. +0 −1,128 public/javascripts/effects.js
  173. +0 −19 public/javascripts/jquery-1.3.2.min.js
  174. +0 −154 public/javascripts/jquery-1.4.2.min.js
  175. +0 −573 public/javascripts/jquery-ui-1.8.2.custom.min.js
  176. +0 −13 public/javascripts/jquery.autocomplete.min.js
  177. +0 −369 public/javascripts/jquery.domwindow.js
  178. +0 −675 public/javascripts/jquery.form.js
  179. +0 −1  public/javascripts/jquery.qtip.min.js
  180. +0 −11 public/javascripts/jquery.scrollTo-1.4.2-min.js
  181. +0 −4,320 public/javascripts/prototype.js
  182. +0 −189 public/javascripts/shBrushClojure.js
  183. +0 −2,080 public/javascripts/shCore.js
  184. +0 −419 public/javascripts/showdown.js
  185. +0 −11 public/opensearch.xml
  186. +0 −1,689 public/rcov/-Library-Ruby-Gems-1_8-gems-rcov-0_9_8-lib-rcov-code_coverage_analyzer_rb.html
  187. +0 −759 public/rcov/-Library-Ruby-Gems-1_8-gems-rcov-0_9_8-lib-rcov-differential_analyzer_rb.html
  188. +0 −122 public/rcov/index.html
Sorry, we could not display the entire diff because too many files (695) changed.
View
7 .autotest
@@ -1,7 +0,0 @@
-require 'autotest/fsevent'
-require 'autotest/growl'
-
-Autotest.add_hook :initialize do |autotest|
- %w{.git .svn .hg .DS_Store ._* vendor}.each {|exception| autotest.add_exception(exception) }
- false
-end
View
19 .gitignore
@@ -1,11 +1,8 @@
-log/*
-tmp/*
-db/sphinx
-.DS_Store
-public/javascripts/cache-application.js
-public/stylesheets/cache-application.css
-coverage.data
-test/coverage
-.bundle
-config/database.yml
-tags
+/pom.xml
+*jar
+/lib
+/classes
+/native
+/.lein-failures
+/checkouts
+/.lein-deps-sum
View
6 .pair.io/config.yaml
@@ -1,6 +0,0 @@
-# pair.io config
-
-quickstart: rails3
-size: small
-inbound-ports: [22, 80, 443, 3000, 3443]
-
View
1  .rvmrc
@@ -1 +0,0 @@
-rvm use ruby-1.8.7-p299
View
95 Capfile
@@ -1,95 +0,0 @@
-load 'deploy' if respond_to?(:namespace) # cap2 differentiator
-Dir['vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) }
-
-load 'config/deploy' # remove this line to skip loading any of the default tasks
-
-after "deploy:update", :copy_database_yml
-after "deploy:update", :set_permissions
-after "deploy:update", :update_sphinx
-after "deploy:setup", :create_database
-
-task :create_database, :role => [:web, :app] do
- run "echo 'create database clojuredocs_production' | mysql -u#{db_user}"
-end
-
-task :copy_database_yml, :role => [:web, :app] do
- run "cp #{release_path}/config/database.example.yml #{release_path}/config/database.yml"
-end
-
-task :set_permissions, :role => [:web, :app] do
- run "mkdir -p #{release_path}/tmp/openids"
- run "mkdir -p #{release_path}/tmp/openids/associations"
- run "mkdir -p #{release_path}/tmp/openids/nonces"
- run "mkdir -p #{release_path}/tmp/openids/temp"
- run "chown -R nobody #{release_path}/tmp"
- run "chown -R nobody #{release_path}/public"
- run "touch #{release_path}/log/production.log"
- run "chmod 0666 #{release_path}/log/production.log"
-end
-
-namespace :bundler do
- task :create_symlink, :roles => :app do
- shared_dir = File.join(shared_path, 'bundle')
- release_dir = File.join(current_release, '.bundle')
- run("mkdir -p #{shared_dir} && ln -s #{shared_dir} #{release_dir}")
- end
-
- task :bundle_new_release, :roles => :app do
- bundler.create_symlink
- run "cd #{release_path} && /opt/ruby-enterprise/bin/bundle install --without test"
- end
-end
-
-after 'deploy:update_code', 'bundler:bundle_new_release'
-
-task :update_sphinx, :role => [:web, :app] do
- run("killall searchd; true")
- run("cd #{deploy_to}/current && #{rake} thinking_sphinx:rebuild RAILS_ENV=production")
-end
-
-require 'yaml'
-
-desc "Backup the remote production database"
-task :backup, :roles => :db, :only => { :primary => true } do
- filename = "#{application.downcase}.dump.#{Time.now.to_i}.sql.bz2"
- file = "/tmp/#{filename}"
- on_rollback { run "rm -f #{file}" }
- db = YAML::load(ERB.new(IO.read(File.join(File.dirname(__FILE__), './config/database.yml'))).result)['production']
- run "mysqldump -u #{db['username']} #{db['database']} | bzip2 -c > #{file}" do |ch, stream, data|
- puts data
- end
- `mkdir -p ~/.#{application.downcase}_db_backups`
- get file, File.expand_path("~/.#{application.downcase}_db_backups/#{filename}")
- run "rm -f #{file}"
-end
-
-desc "Backup the database before running migrations"
-before 'deploy:migrate', :backup
-
-task :clean_dump, :roles => :db do
- filename = "unprotected_dump.sql"
- file = "/tmp/#{filename}"
- on_rollback { run "rm -f #{file}" }
- db = YAML::load(ERB.new(IO.read(File.join(File.dirname(__FILE__), './config/database.yml'))).result)['production']
- run "echo 'create database clean_temp;' | mysql -u root"
- run "mysqldump -u root clojuredocs_production > #{file}"
- run "mysql -uroot clean_temp < #{file}"
-
- run "rm -f #{file}"
-
- run "echo 'use clean_temp; UPDATE users set login = MD5(RAND()), email = MD5(RAND()), openid_identifier = MD5(RAND()), password_salt = MD5(RAND()), crypted_password = MD5(RAND());' | mysql -u root"
-
- filename = "clojuredocs_clean_dump.#{Time.now.to_i}.sql.bz2"
- file = "/tmp/#{filename}"
-
- run "mysqldump -u root clean_temp | bzip2 -c > #{file}" do |ch, stream, data|
- puts data
- end
- run "echo 'drop database clean_temp;' | mysql -u root"
-
- `mkdir -p ~/.#{application.downcase}_db_backups`
- get file, File.expand_path("~/.#{application.downcase}_db_backups/#{filename}")
- run "rm -f #{file}"
-
-end
-
View
22 Gemfile
@@ -1,22 +0,0 @@
-source 'http://rubygems.org'
-
-gem 'rake', '0.8.7'
-gem 'rails', '2.3.5'
-gem 'ruby-openid', '2.1.7'
-gem 'rack-openid', '1.0.3', :require => nil
-gem 'mysql', '2.8.1'
-gem 'rubytree', '0.7.0'
-
-gem 'rdiscount', '1.6.5'
-gem 'chronic', '0.2.3'
-gem 'will_paginate', '2.3.12'
-gem 'levenshtein', '0.2.0'
-gem 'capistrano', '2.5.19'
-
-group :test do
- gem 'shoulda', '2.11.3'
- gem 'flexmock', '0.8.7'
- gem 'ZenTest', '4.4.0'
- gem 'rcov', '0.9.9', :require => nil
- gem 'ruby-prof', '0.9.2'
-end
View
79 Gemfile.lock
@@ -1,79 +0,0 @@
-GEM
- remote: http://rubygems.org/
- specs:
- ZenTest (4.4.0)
- actionmailer (2.3.5)
- actionpack (= 2.3.5)
- actionpack (2.3.5)
- activesupport (= 2.3.5)
- rack (~> 1.0.0)
- activerecord (2.3.5)
- activesupport (= 2.3.5)
- activeresource (2.3.5)
- activesupport (= 2.3.5)
- activesupport (2.3.5)
- capistrano (2.5.19)
- highline
- net-scp (>= 1.0.0)
- net-sftp (>= 2.0.0)
- net-ssh (>= 2.0.14)
- net-ssh-gateway (>= 1.0.0)
- chronic (0.2.3)
- hoe (>= 1.2.1)
- flexmock (0.8.7)
- highline (1.6.1)
- hoe (2.6.2)
- rake (>= 0.8.7)
- rubyforge (>= 2.0.4)
- json_pure (1.4.6)
- levenshtein (0.2.0)
- mysql (2.8.1)
- net-scp (1.0.4)
- net-ssh (>= 1.99.1)
- net-sftp (2.0.5)
- net-ssh (>= 2.0.9)
- net-ssh (2.0.23)
- net-ssh-gateway (1.0.1)
- net-ssh (>= 1.99.1)
- rack (1.0.1)
- rack-openid (1.0.3)
- rack (>= 0.4)
- ruby-openid (>= 2.1.6)
- rails (2.3.5)
- actionmailer (= 2.3.5)
- actionpack (= 2.3.5)
- activerecord (= 2.3.5)
- activeresource (= 2.3.5)
- activesupport (= 2.3.5)
- rake (>= 0.8.3)
- rake (0.8.7)
- rcov (0.9.9)
- rdiscount (1.6.5)
- ruby-openid (2.1.7)
- ruby-prof (0.9.2)
- rubyforge (2.0.4)
- json_pure (>= 1.1.7)
- rubytree (0.7.0)
- shoulda (2.11.3)
- will_paginate (2.3.12)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- ZenTest (= 4.4.0)
- capistrano (= 2.5.19)
- chronic (= 0.2.3)
- flexmock (= 0.8.7)
- levenshtein (= 0.2.0)
- mysql (= 2.8.1)
- rack-openid (= 1.0.3)
- rails (= 2.3.5)
- rake (= 0.8.7)
- rcov (= 0.9.9)
- rdiscount (= 1.6.5)
- ruby-openid (= 2.1.7)
- ruby-prof (= 0.9.2)
- rubytree (= 0.7.0)
- shoulda (= 2.11.3)
- will_paginate (= 2.3.12)
View
46 README.md
@@ -1,45 +1,9 @@
-# ClojureDocs Web App
+# clojuredocs
-[ClojureDocs](http://clojuredocs.org) is a community powered documentation and examples repository designed to aid clojurists of all skill levels in groking clojure core and third party libraries.
+## Usage
-The alpha version of ClojureDocs was released on July 9th, 2010. See the [original mailing list post](http://groups.google.com/group/clojure/browse_thread/thread/a97d472679f2cade/810b73543fd6a2a5?q=clojuredocs&lnk=ol&) for more information.
-
-ClojureDocs consists of three main projects: this website, the [library importer](https://github.com/zkim/clojuredocs-analyzer), and the [external API](http://github.com/dakrone/cd-wsapi.git).
-
-## Requirements
-* Ruby 1.8.7 & Rails 2.1.5.
-* MySQL 5.1
-* bundler
-* Sphinx 0.9.9
-* RVM - not required, but highly suggested.
-
-## Getting Started
-* Open up a terminal.
-* Clone the repo: `git clone https://github.com/zkim/clojuredocs.git`
-* `cd clojuredocs`
-* Copy the database template: `cp ./config/database.example.yml ./config/database.yml`
-* Install required gems: `bundle install`
-* Create the required databases: `echo 'create database clojuredocs_development; create database clojuredocs_test' | mysql -uroot`
-* Run database migrations: `rake db:migrate`
-* Start the dev server: `script/server`
-* Navigate to `http://localhost:3000`
-
-
-This will give you a pristine working version of ClojureDocs. Not very interesting without data, so lets import some:
-
-* Download the latest [database export](https://github.com/zkim/clojuredocs/downloads)
-* Import the database: `mysql -uroot clojuredocs_development < downloaded_export_file`
-* Refresh `http://localhost:3000`
-
-Enabling search requires sphinx
-
-* Download `http://www.sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz`
-* Unzip and cd into the sphinx directory
-* `./configure`
-* `make`
-* `sudo make install`
-* Back in the clojuredocs project directory: `rake thinking_sphinx:rebuild` This will index the database and start the sphinx search daemon.
+## License
+Copyright (C) 2010-2012 Zachary Kim
-## License
-ClojureDocs is licensed under the EPL v1.0 http://opensource.org/licenses/eclipse-1.0.php
+Distributed under the Eclipse Public License, the same as Clojure.
View
67 Rakefile
@@ -1,67 +0,0 @@
-# Add your own tasks in files placed in lib/tasks ending in .rake,
-# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
-
-require(File.join(File.dirname(__FILE__), 'config', 'boot'))
-
-require 'rake'
-require 'rake/testtask'
-require 'rake/rdoctask'
-
-require 'tasks/rails'
-
-require 'digest/sha1'
-
-puts ENV['RAILS_ENV']
-
-
-def sha1(s)
- Digest::SHA1.hexdigest(s) if s
-end
-
-if ENV['RAILS_ENV'] != 'production'
-
- require 'rcov/rcovtask'
-
- namespace :test do
- namespace :coverage do
- desc "Delete aggregate coverage data."
- task(:clean) { rm_f "coverage.data" }
- end
- desc 'Aggregate code coverage for unit, functional and integration tests'
- task :coverage => "test:coverage:clean"
- %w[unit functional integration].each do |target|
- namespace :coverage do
- Rcov::RcovTask.new(target) do |t|
- t.libs << "test"
- t.test_files = FileList["test/#{target}/*_test.rb"]
- t.output_dir = "test/coverage/#{target}"
- t.verbose = true
- t.rcov_opts << '--rails --aggregate coverage.data --exclude "gems,cc_quick_ref\.rb"'
- end
- end
- task :coverage => "test:coverage:#{target}"
- end
- end
-
- desc "Anonymize user table."
- namespace :db do
- task :clean => :environment do
-
- # Need to do this with reflection
- User.find_each do |u|
- u.login = sha1 u.login
- u.email = "#{sha1(u.email)}@clojuredocs.org"
- u.crypted_password = sha1 u.crypted_password
- u.password_salt = sha1 u.password_salt
- u.persistence_token = sha1 u.persistence_token
- u.current_login_ip = sha1 u.current_login_ip
- u.last_login_ip = sha1 u.last_login_ip
- u.openid_identifier = nil
- u.save(false)
- end
-
- end
- end
-
-end
-
View
3,894 app/cc_quick_ref.rb
@@ -1,3894 +0,0 @@
-class CCQuickRef
- def self.spheres
- [
- {
- :name => "Simple Values",
- :categories => [
- {
- :name => "Numbers",
- :groups => [
- {
- :name => "Arithmetic",
- :symbols => [
- {
- :name => "+",
- :ns => "clojure.core",
- :link => "/v/1638",
- :id => 1638
- },
- {
- :name => "-",
- :ns => "clojure.core",
- :link => "/v/1659",
- :id => 1659
- },
- {
- :name => "*",
- :ns => "clojure.core",
- :link => "/v/1654",
- :id => 1654
- },
- {
- :name => "/",
- :ns => "clojure.core",
- :link => "/v/1699",
- :id => 1699
- },
- {
- :name => "quot",
- :ns => "clojure.core",
- :link => "/v/1839",
- :id => 1839
- },
- {
- :name => "rem",
- :ns => "clojure.core",
- :link => "/v/1604",
- :id => 1604
- },
- {
- :name => "mod",
- :ns => "clojure.core",
- :link => "/v/2003",
- :id => 2003
- },
- {
- :name => "inc",
- :ns => "clojure.core",
- :link => "/v/1763",
- :id => 1763
- },
- {
- :name => "dec",
- :ns => "clojure.core",
- :link => "/v/2014",
- :id => 2014
- },
- {
- :name => "max",
- :ns => "clojure.core",
- :link => "/v/1903",
- :id => 1903
- },
- {
- :name => "min",
- :ns => "clojure.core",
- :link => "/v/2104",
- :id => 2104
- },
- {
- :name => "with-precision",
- :ns => "clojure.core",
- :link => "/v/1814",
- :id => 1814
- }
- ]
-
- },
- {
- :name => "Compare",
- :symbols => [
- {
- :name => "=",
- :ns => "clojure.core",
- :link => "/v/1885",
- :id => 1885
- },
- {
- :name => "==",
- :ns => "clojure.core",
- :link => "/v/1511",
- :id => 1511
- },
- {
- :name => "not=",
- :ns => "clojure.core",
- :link => "/v/1530",
- :id => 1530
- },
- {
- :name => "<",
- :ns => "clojure.core",
- :link => "/v/1860",
- :id => 1860
- },
- {
- :name => ">",
- :ns => "clojure.core",
- :link => "/v/1902",
- :id => 1902
- },
- {
- :name => "<=",
- :ns => "clojure.core",
- :link => "/v/1942",
- :id => 1942
- },
- {
- :name => ">=",
- :ns => "clojure.core",
- :link => "/v/1922",
- :id => 1922
- }
- ]
-
- },
- {
- :name => "Bitwise Operations",
- :symbols => [
- {
- :name => "bit-and",
- :ns => "clojure.core",
- :link => "/v/1675",
- :id => 1675
- },
- {
- :name => "bit-or",
- :ns => "clojure.core",
- :link => "/v/1535",
- :id => 1535
- },
- {
- :name => "bit-xor",
- :ns => "clojure.core",
- :link => "/v/1582",
- :id => 1582
- },
- {
- :name => "bit-flip",
- :ns => "clojure.core",
- :link => "/v/1673",
- :id => 1673
- },
- {
- :name => "bit-not",
- :ns => "clojure.core",
- :link => "/v/1774",
- :id => 1774
- },
- {
- :name => "bit-clear",
- :ns => "clojure.core",
- :link => "/v/1819",
- :id => 1819
- },
- {
- :name => "bit-set",
- :ns => "clojure.core",
- :link => "/v/1554",
- :id => 1554
- },
- {
- :name => "bit-shift-left",
- :ns => "clojure.core",
- :link => "/v/1929",
- :id => 1929
- },
- {
- :name => "bit-shift-right",
- :ns => "clojure.core",
- :link => "/v/2030",
- :id => 2030
- },
- {
- :name => "bit-test",
- :ns => "clojure.core",
- :link => "/v/2106",
- :id => 2106
- }
- ]
-
- },
- {
- :name => "Cast",
- :symbols => [
- {
- :name => "byte",
- :ns => "clojure.core",
- :link => "/v/1852",
- :id => 1852
- },
- {
- :name => "short",
- :ns => "clojure.core",
- :link => "/v/1576",
- :id => 1576
- },
- {
- :name => "int",
- :ns => "clojure.core",
- :link => "/v/2001",
- :id => 2001
- },
- {
- :name => "long",
- :ns => "clojure.core",
- :link => "/v/1566",
- :id => 1566
- },
- {
- :name => "float",
- :ns => "clojure.core",
- :link => "/v/1731",
- :id => 1731
- },
- {
- :name => "double",
- :ns => "clojure.core",
- :link => "/v/2043",
- :id => 2043
- },
- {
- :name => "bigint",
- :ns => "clojure.core",
- :link => "/v/2013",
- :id => 2013
- },
- {
- :name => "bigdec",
- :ns => "clojure.core",
- :link => "/v/2004",
- :id => 2004
- },
- {
- :name => "num",
- :ns => "clojure.core",
- :link => "/v/2034",
- :id => 2034
- },
- {
- :name => "rationalize",
- :ns => "clojure.core",
- :link => "/v/1861",
- :id => 1861
- }
- ]
-
- },
- {
- :name => "Test",
- :symbols => [
- {
- :name => "nil?",
- :ns => "clojure.core",
- :link => "/v/1542",
- :id => 1542
- },
- {
- :name => "identical?",
- :ns => "clojure.core",
- :link => "/v/1666",
- :id => 1666
- },
- {
- :name => "zero?",
- :ns => "clojure.core",
- :link => "/v/1674",
- :id => 1674
- },
- {
- :name => "pos?",
- :ns => "clojure.core",
- :link => "/v/1955",
- :id => 1955
- },
- {
- :name => "neg?",
- :ns => "clojure.core",
- :link => "/v/1708",
- :id => 1708
- },
- {
- :name => "even?",
- :ns => "clojure.core",
- :link => "/v/1927",
- :id => 1927
- },
- {
- :name => "odd?",
- :ns => "clojure.core",
- :link => "/v/1605",
- :id => 1605
- }
- ]
-
- }
- ]
-
- },
- {
- :name => "Symbols / Keywords",
- :groups => [
- {
- :name => "Create",
- :symbols => [
- {
- :name => "keyword",
- :ns => "clojure.core",
- :link => "/v/1995",
- :id => 1995
- },
- {
- :name => "symbol",
- :ns => "clojure.core",
- :link => "/v/1624",
- :id => 1624
- }
- ]
-
- },
- {
- :name => "Use",
- :symbols => [
- {
- :name => "name",
- :ns => "clojure.core",
- :link => "/v/1800",
- :id => 1800
- },
- {
- :name => "intern",
- :ns => "clojure.core",
- :link => "/v/1779",
- :id => 1779
- },
- {
- :name => "namespace",
- :ns => "clojure.core",
- :link => "/v/1858",
- :id => 1858
- }
- ]
-
- },
- {
- :name => "Test",
- :symbols => [
- {
- :name => "keyword?",
- :ns => "clojure.core",
- :link => "/v/1497",
- :id => 1497
- },
- {
- :name => "symbol?",
- :ns => "clojure.core",
- :link => "/v/1606",
- :id => 1606
- }
- ]
-
- }
- ]
-
- },
- {
- :name => "Strings / Characters",
- :groups => [
- {
- :name => "Create",
- :symbols => [
- {
- :name => "str",
- :ns => "clojure.core",
- :link => "/v/1878",
- :id => 1878
- },
- {
- :name => "print-str",
- :ns => "clojure.core",
- :link => "/v/1716",
- :id => 1716
- },
- {
- :name => "println-str",
- :ns => "clojure.core",
- :link => "/v/2081",
- :id => 2081
- },
- {
- :name => "pr-str",
- :ns => "clojure.core",
- :link => "/v/1859",
- :id => 1859
- },
- {
- :name => "prn-str",
- :ns => "clojure.core",
- :link => "/v/1748",
- :id => 1748
- },
- {
- :name => "with-out-str",
- :ns => "clojure.core",
- :link => "/v/1652",
- :id => 1652
- }
- ]
-
- },
- {
- :name => "Use",
- :symbols => [
- {
- :name => "count",
- :ns => "clojure.core",
- :link => "/v/1846",
- :id => 1846
- },
- {
- :name => "get",
- :ns => "clojure.core",
- :link => "/v/1941",
- :id => 1941
- },
- {
- :name => "subs",
- :ns => "clojure.core",
- :link => "/v/1913",
- :id => 1913
- },
- {
- :name => "format",
- :ns => "clojure.core",
- :link => "/v/1521",
- :id => 1521
- }
- ]
-
- },
- {
- :name => "Cast / Test",
- :symbols => [
- {
- :name => "char",
- :ns => "clojure.core",
- :link => "/v/1957",
- :id => 1957
- },
- {
- :name => "char?",
- :ns => "clojure.core",
- :link => "/v/1684",
- :id => 1684
- },
- {
- :name => "string?",
- :ns => "clojure.core",
- :link => "/v/1543",
- :id => 1543
- }
- ]
-
- }
- ]
-
- },
- {
- :name => "Regular Expressions",
- :groups => [
- {
- :name => "Create",
- :symbols => [
- {
- :name => "re-pattern",
- :ns => "clojure.core",
- :link => "/v/1496",
- :id => 1496
- },
- {
- :name => "re-matcher",
- :ns => "clojure.core",
- :link => "/v/1628",
- :id => 1628
- }
- ]
-
- },
- {
- :name => "Use",
- :symbols => [
- {
- :name => "re-find",
- :ns => "clojure.core",
- :link => "/v/1773",
- :id => 1773
- },
- {
- :name => "re-matches",
- :ns => "clojure.core",
- :link => "/v/1613",
- :id => 1613
- },
- {
- :name => "re-seq",
- :ns => "clojure.core",
- :link => "/v/1792",
- :id => 1792
- },
- {
- :name => "re-groups",
- :ns => "clojure.core",
- :link => "/v/1679",
- :id => 1679
- }
- ]
-
- }
- ]
-
- }
- ]
-
- },
- {
- :name => "Operations",
- :categories => [
- {
- :name => "Flow Control",
- :groups => [
- {
- :name => "Normal",
- :symbols => [
- {
- :name => "if",
- :ns => "clojure.core",
- :link => "/v/5269",
- :id => 5269
- },
- {
- :name => "if-not",
- :ns => "clojure.core",
- :link => "/v/1537",
- :id => 1537
- },
- {
- :name => "if-let",
- :ns => "clojure.core",
- :link => "/v/1953",
- :id => 1953
- },
- {
- :name => "when",
- :ns => "clojure.core",
- :link => "/v/2050",
- :id => 2050
- },
- {
- :name => "when-not",
- :ns => "clojure.core",
- :link => "/v/1657",
- :id => 1657
- },
- {
- :name => "when-let",
- :ns => "clojure.core",
- :link => "/v/1849",
- :id => 1849
- },
- {
- :name => "when-first",
- :ns => "clojure.core",
- :link => "/v/1751",
- :id => 1751
- },
- {
- :name => "cond",
- :ns => "clojure.core",
- :link => "/v/1553",
- :id => 1553
- },
- {
- :name => "condp",
- :ns => "clojure.core",
- :link => "/v/1838",
- :id => 1838
- },
- {
- :name => "case",
- :ns => "clojure.core",
- :link => "/v/1893",
- :id => 1893
- },
- {
- :name => "do",
- :ns => "clojure.core",
- :link => "/v/5270",
- :id => 5270
- },
- {
- :name => "eval",
- :ns => "clojure.core",
- :link => "/v/2022",
- :id => 2022
- },
- {
- :name => "loop",
- :ns => "clojure.core",
- :link => "/v/1617",
- :id => 1617
- },
- {
- :name => "recur",
- :ns => "clojure.core",
- :link => "/v/5273",
- :id => 5273
- },
- {
- :name => "trampoline",
- :ns => "clojure.core",
- :link => "/v/2070",
- :id => 2070
- },
- {
- :name => "while",
- :ns => "clojure.core",
- :link => "/v/1881",
- :id => 1881
- }
- ]
-
- },
- {
- :name => "Exceptional",
- :symbols => [
- {
- :name => "try",
- :ns => "clojure.core",
- :link => "/v/5275",
- :id => 5275
- },
- {
- :name => "catch",
- :ns => "clojure.core",
- :link => "/v/5281",
- :id => 5281
- },
- {
- :name => "finally",
- :ns => "clojure.core",
- :link => "/v/5282",
- :id => 5282
- },
- {
- :name => "throw",
- :ns => "clojure.core",
- :link => "/v/5274",
- :id => 5274
- },
- {
- :name => "assert",
- :ns => "clojure.core",
- :link => "/v/1733",
- :id => 1733
- }
- ]
-
- },
- {
- :name => "Delay",
- :symbols => [
- {
- :name => "delay",
- :ns => "clojure.core",
- :link => "/v/1986",
- :id => 1986
- },
- {
- :name => "delay?",
- :ns => "clojure.core",
- :link => "/v/2033",
- :id => 2033
- },
- {
- :name => "deref",
- :ns => "clojure.core",
- :link => "/v/1630",
- :id => 1630
- },
- {
- :name => "force",
- :ns => "clojure.core",
- :link => "/v/1950",
- :id => 1950
- }
- ]
-
- },
- {
- :name => "Function Based",
- :symbols => [
- {
- :name => "repeatedly",
- :ns => "clojure.core",
- :link => "/v/2069",
- :id => 2069
- },
- {
- :name => "iterate",
- :ns => "clojure.core",
- :link => "/v/1749",
- :id => 1749
- }
- ]
-
- },
- {
- :name => "Sequence Based",
- :symbols => [
- {
- :name => "dotimes",
- :ns => "clojure.core",
- :link => "/v/1587",
- :id => 1587
- },
- {
- :name => "doseq",
- :ns => "clojure.core",
- :link => "/v/1534",
- :id => 1534
- },
- {
- :name => "for",
- :ns => "clojure.core",
- :link => "/v/1548",
- :id => 1548
- }
- ]
-
- },
- {
- :name => "Laziness",
- :symbols => [
- {
- :name => "lazy-seq",
- :ns => "clojure.core",
- :link => "/v/2044",
- :id => 2044
- },
- {
- :name => "lazy-cat",
- :ns => "clojure.core",
- :link => "/v/1599",
- :id => 1599
- },
- {
- :name => "doall",
- :ns => "clojure.core",
- :link => "/v/1806",
- :id => 1806
- },
- {
- :name => "dorun",
- :ns => "clojure.core",
- :link => "/v/1526",
- :id => 1526
- }
- ]
-
- }
- ]
-
- },
- {
- :name => "Type Inspection",
- :groups => [
- {
- :name => "Clojure Types",
- :symbols => [
- {
- :name => "type",
- :ns => "clojure.core",
- :link => "/v/2068",
- :id => 2068
- },
- {
- :name => "extends?",
- :ns => "clojure.core",
- :link => "/v/1714",
- :id => 1714
- },
- {
- :name => "satisfies?",
- :ns => "clojure.core",
- :link => "/v/2086",
- :id => 2086
- }
- ]
-
- },
- {
- :name => "Java Types",
- :symbols => [
- {
- :name => "class",
- :ns => "clojure.core",
- :link => "/v/1791",
- :id => 1791
- },
- {
- :name => "bases",
- :ns => "clojure.core",
- :link => "/v/1697",
- :id => 1697
- },
- {
- :name => "supers",
- :ns => "clojure.core",
- :link => "/v/1937",
- :id => 1937
- },
- {
- :name => "class?",
- :ns => "clojure.core",
- :link => "/v/1744",
- :id => 1744
- },
- {
- :name => "instance?",
- :ns => "clojure.core",
- :link => "/v/1519",
- :id => 1519
- },
- {
- :name => "isa?",
- :ns => "clojure.core",
- :link => "/v/1711",
- :id => 1711
- },
- {
- :name => "cast",
- :ns => "clojure.core",
- :link => "/v/1935",
- :id => 1935
- }
- ]
-
- }
- ]
-
- },
- {
- :name => "Concurrency",
- :groups => [
- {
- :name => "General",
- :symbols => [
- {
- :name => "deref",
- :ns => "clojure.core",
- :link => "/v/1630",
- :id => 1630
- },
- {
- :name => "get-validator",
- :ns => "clojure.core",
- :link => "/v/1586",
- :id => 1586
- },
- {
- :name => "set-validator!",
- :ns => "clojure.core",
- :link => "/v/1891",
- :id => 1891
- }
- ]
-
- },
- {
- :name => "Atoms",
- :symbols => [
- {
- :name => "atom",
- :ns => "clojure.core",
- :link => "/v/2028",
- :id => 2028
- },
- {
- :name => "swap!",
- :ns => "clojure.core",
- :link => "/v/1988",
- :id => 1988
- },
- {
- :name => "reset!",
- :ns => "clojure.core",
- :link => "/v/1925",
- :id => 1925
- },
- {
- :name => "compare-and-set!",
- :ns => "clojure.core",
- :link => "/v/2066",
- :id => 2066
- }
- ]
-
- },
- {
- :name => "Refs",
- :symbols => [
- {
- :name => "ref",
- :ns => "clojure.core",
- :link => "/v/1760",
- :id => 1760
- },
- {
- :name => "sync",
- :ns => "clojure.core",
- :link => "/v/1574",
- :id => 1574
- },
- {
- :name => "dosync",
- :ns => "clojure.core",
- :link => "/v/1564",
- :id => 1564
- },
- {
- :name => "ref-set",
- :ns => "clojure.core",
- :link => "/v/1701",
- :id => 1701
- },
- {
- :name => "alter",
- :ns => "clojure.core",
- :link => "/v/1649",
- :id => 1649
- },
- {
- :name => "commute",
- :ns => "clojure.core",
- :link => "/v/1600",
- :id => 1600
- },
- {
- :name => "ensure",
- :ns => "clojure.core",
- :link => "/v/1898",
- :id => 1898
- },
- {
- :name => "io!",
- :ns => "clojure.core",
- :link => "/v/2036",
- :id => 2036
- },
- {
- :name => "ref-history-count",
- :ns => "clojure.core",
- :link => "/v/1718",
- :id => 1718
- },
- {
- :name => "ref-max-history",
- :ns => "clojure.core",
- :link => "/v/1588",
- :id => 1588
- },
- {
- :name => "ref-min-history",
- :ns => "clojure.core",
- :link => "/v/1776",
- :id => 1776
- }
- ]
-
- },
- {
- :name => "Agents",
- :symbols => [
- {
- :name => "agent",
- :ns => "clojure.core",
- :link => "/v/2098",
- :id => 2098
- },
- {
- :name => "send",
- :ns => "clojure.core",
- :link => "/v/1842",
- :id => 1842
- },
- {
- :name => "send-off",
- :ns => "clojure.core",
- :link => "/v/1663",
- :id => 1663
- },
- {
- :name => "await",
- :ns => "clojure.core",
- :link => "/v/1943",
- :id => 1943
- },
- {
- :name => "await-for",
- :ns => "clojure.core",
- :link => "/v/2107",
- :id => 2107
- },
- {
- :name => "agent-error",
- :ns => "clojure.core",
- :link => "/v/1671",
- :id => 1671
- },
- {
- :name => "restart-agent",
- :ns => "clojure.core",
- :link => "/v/1754",
- :id => 1754
- },
- {
- :name => "shutdown-agents",
- :ns => "clojure.core",
- :link => "/v/1924",
- :id => 1924
- },
- {
- :name => "*agent*",
- :ns => "clojure.core",
- :link => "/v/2008",
- :id => 2008
- },
- {
- :name => "error-handler",
- :ns => "clojure.core",
- :link => "/v/2096",
- :id => 2096
- },
- {
- :name => "set-error-handler!",
- :ns => "clojure.core",
- :link => "/v/2071",
- :id => 2071
- },
- {
- :name => "error-mode",
- :ns => "clojure.core",
- :link => "/v/1552",
- :id => 1552
- },
- {
- :name => "set-error-mode!",
- :ns => "clojure.core",
- :link => "/v/1998",
- :id => 1998
- },
- {
- :name => "release-pending-sends",
- :ns => "clojure.core",
- :link => "/v/2002",
- :id => 2002
- }
- ]
-
- },
- {
- :name => "Futures",
- :symbols => [
- {
- :name => "future",
- :ns => "clojure.core",
- :link => "/v/1677",
- :id => 1677
- },
- {
- :name => "future-call",
- :ns => "clojure.core",
- :link => "/v/1712",
- :id => 1712
- },
- {
- :name => "future-done?",
- :ns => "clojure.core",
- :link => "/v/1618",
- :id => 1618
- },
- {
- :name => "future-cancel",
- :ns => "clojure.core",
- :link => "/v/1764",
- :id => 1764
- },
- {
- :name => "future-cancelled?",
- :ns => "clojure.core",
- :link => "/v/1931",
- :id => 1931
- },
- {
- :name => "future?",
- :ns => "clojure.core",
- :link => "/v/1722",
- :id => 1722
- }
- ]
-
- },
- {
- :name => "Thread Local Values",
- :symbols => [
- {
- :name => "bound-fn",
- :ns => "clojure.core",
- :link => "/v/1525",
- :id => 1525
- },
- {
- :name => "bound-fn*",
- :ns => "clojure.core",
- :link => "/v/1767",
- :id => 1767
- },
- {
- :name => "get-thread-bindings",
- :ns => "clojure.core",
- :link => "/v/1758",
- :id => 1758
- },
- {
- :name => "push-thread-bindings",
- :ns => "clojure.core",
- :link => "/v/1912",
- :id => 1912
- },
- {
- :name => "pop-thread-bindings",
- :ns => "clojure.core",
- :link => "/v/1551",
- :id => 1551
- },
- {
- :name => "thread-bound?",
- :ns => "clojure.core",
- :link => "/v/1609",
- :id => 1609
- }
- ]
-
- },
- {
- :name => "Misc",
- :symbols => [
- {
- :name => "locking",
- :ns => "clojure.core",
- :link => "/v/1971",
- :id => 1971
- },
- {
- :name => "pcalls",
- :ns => "clojure.core",
- :link => "/v/1938",
- :id => 1938
- },
- {
- :name => "pvalues",
- :ns => "clojure.core",
- :link => "/v/1780",
- :id => 1780
- },
- {
- :name => "pmap",
- :ns => "clojure.core",
- :link => "/v/1952",
- :id => 1952
- },
- {
- :name => "seque",
- :ns => "clojure.core",
- :link => "/v/1703",
- :id => 1703
- },
- {
- :name => "promise",
- :ns => "clojure.core",
- :link => "/v/1591",
- :id => 1591
- },
- {
- :name => "deliver",
- :ns => "clojure.core",
- :link => "/v/1623",
- :id => 1623
- },
- {
- :name => "add-watch",
- :ns => "clojure.core",
- :link => "/v/1539",
- :id => 1539
- },
- {
- :name => "remove-watch",
- :ns => "clojure.core",
- :link => "/v/1715",
- :id => 1715
- }
- ]
-
- }
- ]
-
- }
- ]
-
- },
- {
- :name => "Functions",
- :categories => [
- {
- :name => "General",
- :groups => [
- {
- :name => "Create",
- :symbols => [
- {
- :name => "fn",
- :ns => "clojure.core",
- :link => "/v/1557",
- :id => 1557
- },
- {
- :name => "defn",
- :ns => "clojure.core",
- :link => "/v/1833",
- :id => 1833
- },
- {
- :name => "defn-",
- :ns => "clojure.core",
- :link => "/v/1771",
- :id => 1771
- },
- {
- :name => "definline",
- :ns => "clojure.core",
- :link => "/v/1766",
- :id => 1766
- },
- {
- :name => "identity",
- :ns => "clojure.core",
- :link => "/v/1905",
- :id => 1905
- },
- {
- :name => "constantly",
- :ns => "clojure.core",
- :link => "/v/1856",
- :id => 1856
- },
- {
- :name => "memfn",
- :ns => "clojure.core",
- :link => "/v/1737",
- :id => 1737
- },
- {
- :name => "comp",
- :ns => "clojure.core",
- :link => "/v/1850",
- :id => 1850
- },
- {
- :name => "complement",
- :ns => "clojure.core",
- :link => "/v/1584",
- :id => 1584
- },
- {
- :name => "partial",
- :ns => "clojure.core",
- :link => "/v/1951",
- :id => 1951
- },
- {
- :name => "juxt",
- :ns => "clojure.core",
- :link => "/v/2058",
- :id => 2058
- },
- {
- :name => "memoize",
- :ns => "clojure.core",
- :link => "/v/1886",
- :id => 1886
- }
- ]
-
- },
- {
- :name => "Call",
- :symbols => [
- {
- :name => "->",
- :ns => "clojure.core",
- :link => "/v/1872",
- :id => 1872
- },
- {
- :name => "->>",
- :ns => "clojure.core",
- :link => "/v/1660",
- :id => 1660
- },
- {
- :name => "apply",
- :ns => "clojure.core",
- :link => "/v/1987",
- :id => 1987
- }
- ]
-
- },
- {
- :name => "Test",
- :symbols => [
- {
- :name => "fn?",
- :ns => "clojure.core",
- :link => "/v/1523",
- :id => 1523
- },
- {
- :name => "ifn?",
- :ns => "clojure.core",
- :link => "/v/1982",
- :id => 1982
- }
- ]
-
- }
- ]
-
- },
- {
- :name => "Multifunctions",
- :groups => [
- {
- :name => "Create",
- :symbols => [
- {
- :name => "defmulti",
- :ns => "clojure.core",
- :link => "/v/1989",
- :id => 1989
- },
- {
- :name => "defmethod",
- :ns => "clojure.core",
- :link => "/v/1592",
- :id => 1592
- }
- ]
-
- },
- {
- :name => "Inspect and Modify",
- :symbols => [
- {
- :name => "get-method",
- :ns => "clojure.core",
- :link => "/v/2097",
- :id => 2097
- },
- {
- :name => "methods",
- :ns => "clojure.core",
- :link => "/v/1930",
- :id => 1930
- },
- {
- :name => "prefer-method",
- :ns => "clojure.core",
- :link => "/v/1896",
- :id => 1896
- },
- {
- :name => "prefers",
- :ns => "clojure.core",
- :link => "/v/1836",
- :id => 1836
- },
- {
- :name => "remove-method",
- :ns => "clojure.core",
- :link => "/v/1528",
- :id => 1528
- },
- {
- :name => "remove-all-methods",
- :ns => "clojure.core",
- :link => "/v/1882",
- :id => 1882
- }
- ]
-
- }
- ]
-
- },
- {
- :name => "Macros",
- :groups => [
- {
- :name => "Create",
- :symbols => [
- {
- :name => "defmacro",
- :ns => "clojure.core",
- :link => "/v/1890",
- :id => 1890
- },
- {
- :name => "macroexpand",
- :ns => "clojure.core",
- :link => "/v/1874",
- :id => 1874
- },
- {
- :name => "macroexpand-1",
- :ns => "clojure.core",
- :link => "/v/1808",
- :id => 1808
- },
- {
- :name => "gensym",
- :ns => "clojure.core",
- :link => "/v/1529",
- :id => 1529
- }
- ]
-
- }
- ]
-
- },
- {
- :name => "Java Interop",
- :groups => [
- {
- :name => "Use",
- :symbols => [
- {
- :name => "doto",
- :ns => "clojure.core",
- :link => "/v/1713",
- :id => 1713
- },
- {
- :name => "..",
- :ns => "clojure.core",
- :link => "/v/1667",
- :id => 1667
- },
- {
- :name => "set!",
- :ns => "clojure.core",
- :link => "/v/5280",
- :id => 5280
- }
- ]
-
- },
- {
- :name => "Arrays",
- :symbols => [
- {
- :name => "make-array",
- :ns => "clojure.core",
- :link => "/v/2054",
- :id => 2054
- },
- {
- :name => "object-array",
- :ns => "clojure.core",
- :link => "/v/1504",
- :id => 1504
- },
- {
- :name => "boolean-array",
- :ns => "clojure.core",
- :link => "/v/1544",
- :id => 1544
- },
- {
- :name => "byte-array",
- :ns => "clojure.core",
- :link => "/v/1993",
- :id => 1993
- },
- {
- :name => "char-array",
- :ns => "clojure.core",
- :link => "/v/1563",
- :id => 1563
- },
- {
- :name => "short-array",
- :ns => "clojure.core",
- :link => "/v/1559",
- :id => 1559
- },
- {
- :name => "int-array",
- :ns => "clojure.core",
- :link => "/v/1730",
- :id => 1730
- },
- {
- :name => "long-array",
- :ns => "clojure.core",
- :link => "/v/1550",
- :id => 1550
- },
- {
- :name => "float-array",
- :ns => "clojure.core",
- :link => "/v/1709",
- :id => 1709
- },
- {
- :name => "double-array",
- :ns => "clojure.core",
- :link => "/v/1738",
- :id => 1738
- },
- {
- :name => "aclone",
- :ns => "clojure.core",
- :link => "/v/2024",
- :id => 2024
- },
- {
- :name => "to-array",
- :ns => "clojure.core",
- :link => "/v/2063",
- :id => 2063
- },
- {
- :name => "to-array-2d",
- :ns => "clojure.core",
- :link => "/v/1782",
- :id => 1782
- },
- {
- :name => "into-array",
- :ns => "clojure.core",
- :link => "/v/1643",
- :id => 1643
- }
- ]
-
- },
- {
- :name => "Use",
- :symbols => [
- {
- :name => "aget",
- :ns => "clojure.core",
- :link => "/v/2016",
- :id => 2016
- },
- {
- :name => "aset",
- :ns => "clojure.core",
- :link => "/v/1804",
- :id => 1804
- },
- {
- :name => "aset-boolean",
- :ns => "clojure.core",
- :link => "/v/1879",
- :id => 1879
- },
- {
- :name => "aset-char",
- :ns => "clojure.core",
- :link => "/v/1705",
- :id => 1705
- },
- {
- :name => "aset-byte",
- :ns => "clojure.core",
- :link => "/v/1536",
- :id => 1536
- },
- {
- :name => "aset-int",
- :ns => "clojure.core",
- :link => "/v/1980",
- :id => 1980
- },
- {
- :name => "aset-long",
- :ns => "clojure.core",
- :link => "/v/2009",
- :id => 2009
- },
- {
- :name => "aset-short",
- :ns => "clojure.core",
- :link => "/v/1747",
- :id => 1747
- },
- {
- :name => "aset-float",
- :ns => "clojure.core",
- :link => "/v/1596",
- :id => 1596
- },
- {
- :name => "aset-double",
- :ns => "clojure.core",
- :link => "/v/1892",
- :id => 1892
- },
- {
- :name => "alength",
- :ns => "clojure.core",
- :link => "/v/2059",
- :id => 2059
- },
- {
- :name => "amap",
- :ns => "clojure.core",
- :link => "/v/1871",
- :id => 1871
- },
- {
- :name => "areduce",
- :ns => "clojure.core",
- :link => "/v/2052",
- :id => 2052
- }
- ]
-
- },
- {
- :name => "Cast",
- :symbols => [
- {
- :name => "booleans",
- :ns => "clojure.core",
- :link => "/v/1509",
- :id => 1509
- },
- {
- :name => "bytes",
- :ns => "clojure.core",
- :link => "/v/1945",
- :id => 1945
- },
- {
- :name => "chars",
- :ns => "clojure.core",
- :link => "/v/1743",
- :id => 1743
- },
- {
- :name => "ints",
- :ns => "clojure.core",
- :link => "/v/1907",
- :id => 1907
- },
- {
- :name => "shorts",
- :ns => "clojure.core",
- :link => "/v/1517",
- :id => 1517
- },
- {
- :name => "longs",
- :ns => "clojure.core",
- :link => "/v/1514",
- :id => 1514
- },
- {
- :name => "floats",
- :ns => "clojure.core",
- :link => "/v/1653",
- :id => 1653
- },
- {
- :name => "doubles",
- :ns => "clojure.core",
- :link => "/v/1710",
- :id => 1710
- }
- ]
-
- }
- ]
-
- },
- {
- :name => "Proxies",
- :groups => [
- {
- :name => "Create",