Ultimate goal: 3rd party software distribution
Key results:
- Virtual desks
- Tools to manipulate and inspect them
Background reading:
- Thread about 3rd party software distribution: https://groups.google.com/a/urbit.org/g/dev/c/zNK_-Z4gDNk/m/FM4PP2kxCAAJ
| function first(xs) { | |
| return xs[0]; | |
| }; | |
| function rest(xs) { | |
| if (xs.length <= 0) { | |
| return []; | |
| } | |
| return xs.slice(1, xs.length); | |
| }; |
| var each = function(list, f) { | |
| for (var i = 0; i < list.length; i++) { | |
| f(list[i]); | |
| } | |
| }; | |
| var map = function(list, f) { | |
| var arr = []; | |
| for (var i = 0; i < list.length; i++) { | |
| arr.push(f(list[i])); |
| var makeStopwatch = function() { | |
| var elapsed = 0; | |
| var interval; | |
| var stopwatch = function(){ | |
| return elapsed; | |
| }; | |
| var increase = function() { elapsed++; }; |
| function each(array, f) { | |
| for(var i = 0; i < array.length; i++) { | |
| f(array[i]); | |
| } | |
| } | |
| function map(array, f) { | |
| var acc = []; | |
| each(array, function(x) { | |
| acc.push(f(x)); |
| function longerThan(word1, word2) { | |
| if (word2.length > word1.length) { | |
| return word2; | |
| } else { | |
| return word1; | |
| } | |
| } | |
| function reduce(array, f, acc) { | |
| var start = acc; |
| var makeStopwatch = function() { | |
| var elapsed = 0; | |
| var intervalId; | |
| var increase = function() { elapsed++; }; | |
| var stopInterval = function() { | |
| clearInterval(intervalId); | |
| }; |
| // 1. Compute the sum of squares up to `n`, where n is 10. | |
| var n = 10; | |
| var i = 0; | |
| var result = 0; | |
| while (i < n) { | |
| result = result + (i * i); | |
| i++; | |
| } | |
| console.log(result); |
| :: Conway's game of life: http://urbit.org/docs/hoon/exercises/life/ | |
| :: Solution up to prompt 7. | |
| !: | |
| :: | |
| =< |= times/@ | |
| (life times) | |
| :: | |
| => |% | |
| ++ spot {r/@ c/@} | |
| ++ row (list ?) |
| (defproject fmspider "0.1.0" | |
| :description "" | |
| :url "http://example.com/FIXME" | |
| :license {:name "Eclipse Public License" | |
| :url "http://www.eclipse.org/legal/epl-v10.html"} | |
| :dependencies [[org.clojure/clojure "1.5.1"] | |
| [org.clojure/tools.namespace "0.2.4"] | |
| [itsy "0.1.1"] | |
| [clj-http "0.9.1"] | |
| [enlive "1.1.5"] |
Ultimate goal: 3rd party software distribution
Key results:
Background reading: