summary refs log tree commit diff stats
path: root/hub.html
blob: 9f25b761ac08fbe4990128366d8847498ed709a6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
	<head>
		<title>Andrew Yu's Hub</title>
		<link rel="stylesheet" href="/plain.css" />
		<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
		<meta charset="utf-8" />
	</head>
	<body class="indent">
		<h1>Andrew Yu's Hub</h1>
		<p>Other people's Websites nearby:</p>
		<p style="font-size: 125%;">
		See <a href="https://www.andrewyu.org/">my homepage</a>'s links list for stuff that's relevant to me.  This link hub is mostly ``things by others, really''.
		</p>
		<ul>
			<li><a href="https://users.andrewyu.org/~luk">Luke</a></li>
			<li><a href="https://users.andrewyu.org/~luk/andrew-leak.mp4">Luke's Best Thing</a></li>
			<li><a href="https://users.andrewyu.org/~hax">Test_User</a></li>
		</ul>
		<p>Not my stuff or relevant-to-me-specifically in particular:</p>
		<ul>
			<li><a href="https://fsf.org">The Free Software Foundation</a></li>
			<li><a href="https://based.cooking">A simple clean receipe site</a></li>
			<li><a href="https://landchad.net">Host your own services</a></li>
		</ul>
		<div id="footer">
			<hr />
			<p><a href="/">Andrew Yu's Website</a></p>
		</div>
	</body>
</html>
="o">, 34 1:number/raw <- index tab, key ] memory-should-contain [ 1 <- 34 ] ] container table:_key:_value [ length:number capacity:number data:address:array:table_row:_key:_value ] container table_row:_key:_value [ occupied?:boolean key:_key value:_value ] def new-table capacity:number -> result:address:table:_key:_value [ local-scope load-ingredients result <- new {(table _key _value): type} data:address:array:table_row:_key:_value <- new {(table_row _key _value): type}, capacity *result <- merge 0/length, capacity, data ] def put-index table:address:table:_key:_value, key:_key, value:_value -> table:address:table:_key:_value [ local-scope load-ingredients hash:number <- hash key hash <- abs hash capacity:number <- get *table, capacity:offset _, hash <- divide-with-remainder hash, capacity hash <- abs hash # in case hash overflows into a negative integer table-data:address:array:table_row:_key:_value <- get *table, data:offset x:table_row:_key:_value <- index *table-data, hash occupied?:boolean <- get x, occupied?:offset not-occupied?:boolean <- not occupied?:boolean assert not-occupied?, [can't handle collisions yet] new-row:table_row:_key:_value <- merge 1/true, key, value *table-data <- put-index *table-data, hash, new-row ] def abs n:number -> result:number [ local-scope load-ingredients positive?:boolean <- greater-or-equal n, 0 return-if positive?, n result <- multiply n, -1 ] def index table:address:table:_key:_value, key:_key -> result:_value [ local-scope load-ingredients hash:number <- hash key hash <- abs hash capacity:number <- get *table, capacity:offset _, hash <- divide-with-remainder hash, capacity hash <- abs hash # in case hash overflows into a negative integer table-data:address:array:table_row:_key:_value <- get *table, data:offset x:table_row:_key:_value <- index *table-data, hash occupied?:boolean <- get x, occupied?:offset assert occupied?, [can't handle missing elements yet] result <- get x, value:offset ]