Commit Graph

150 Commits

Author SHA1 Message Date
Brian Picciano
9534ff5c13 graph: don't give values to edges, that can be accomplished by a transformation layer later 2018-08-18 14:06:43 -04:00
Brian Picciano
c1bdb46623 graph: implement SubGraph and Equal 2018-08-18 13:51:38 -04:00
Brian Picciano
91c0629377 graph: add edgeIndex's to Graph to speed up EdgeValues call 2018-08-17 11:08:26 -06:00
Brian Picciano
132a50039b graph: implemented smaller and simpler version of gg, which gg can then be built on top of 2018-08-14 16:28:11 -04:00
Brian Picciano
c277bab368 gim: move view code into its own package 2018-06-08 02:04:27 +00:00
Brian Picciano
0a6526d2c3 gim: add terminal.Buffer.DrawBufferCentered 2018-06-08 00:17:49 +00:00
Brian Picciano
0b36e4ec37 gim: make rounder a global in geo, kinda gross but simplifies a lot of things 2018-06-07 22:50:01 +00:00
Brian Picciano
ef48a2d708 gim: move line drawing code into terminal. drawing the line body is kind of busted, but whatever 2018-06-07 22:35:18 +00:00
Brian Picciano
a6d540f1fb gim: refactor positioning and drawing code to take advantage of terminal buffers more 2018-06-07 03:25:40 +00:00
Brian Picciano
b906697151 gg: rename Walk to Iter, and implement Disjoin 2018-06-07 02:21:44 +00:00
Brian Picciano
efa7319555 gim: give terminal.LineStyle Perp and Arrow fields 2018-06-06 06:30:39 +00:00
Brian Picciano
97be10b03e gim: modify terminal to use a buffer, which will allow for much more complex behavior later 2018-06-05 07:56:50 +00:00
Brian Picciano
018e84575f more notes for gim 2018-06-03 04:25:32 +00:00
Brian Picciano
c16fc00bf7 notes for gim on graph drawing algo, and some TODOs 2018-06-02 08:45:03 +00:00
Brian Picciano
1dc53518af gim: draw the text of the edge 2018-06-02 06:52:57 +00:00
Brian Picciano
65933a004d gim: properly sort outgoing edges along the from box 2018-06-02 06:52:42 +00:00
Brian Picciano
faf41c7386 gim: make outgoing edges also be split along the rectangle 2018-06-02 06:52:24 +00:00
Brian Picciano
905b182467 gim: make incoming edges separate along the drawn rectangle edge, instead of all overlapping onto the same point 2018-06-02 06:51:53 +00:00
Brian Picciano
ed8fa31104 more notes 2018-03-03 16:15:13 +00:00
Brian Picciano
58c053782e took notes on how compilers compile basic c programs, and how they get run via libc 2018-01-29 14:44:34 +00:00
Brian Picciano
bd650dfc08 implement json marshaling and unmarshaling (TODO needs tests) 2018-01-23 13:32:22 +00:00
Brian Picciano
e52befb7ed refacctor gg to use Value instead of Identifier, which will make serializing more straightforward, and reduces some complexity of the code besides 2018-01-21 15:39:25 +00:00
Brian Picciano
754b75407a integrate constraint engine into determining box positioning 2017-12-03 12:38:53 -07:00
Brian Picciano
79a171323d implement basic constraint engine in gim, which will be used to determine positioning of vertices 2017-11-25 14:33:00 -07:00
Brian Picciano
286c2fbb35 use gg.Str instead of gim.str 2017-11-24 11:05:58 -07:00
Brian Picciano
7c7502b42f move a bunch of code into view, which holds onto a bunch of the drawing logic and settings now 2017-11-23 12:19:32 -07:00
Brian Picciano
f68bb4d8a2 do a lot of work on gim to get it sort of rendering gg.Graphs 2017-11-19 14:39:56 -07:00
Brian Picciano
5ab1d4c7f0 implement gg.Graph.Walk 2017-11-05 09:57:57 -07:00
Brian Picciano
cae3116424 rename gg.HalfEdge to gg.OpenEdge 2017-11-05 09:11:05 -07:00
Brian Picciano
11328fa76c drawing edges in gim, and split out some parts into their own packages 2017-11-04 15:29:15 -06:00
Brian Picciano
b4bf8f6c5a basic box drawing and moving in gim 2017-11-02 16:45:10 -06:00
Brian Picciano
d700390b54 move gg into root, it's not really subject to the lang 2017-11-02 14:59:31 -06:00
Brian Picciano
72099ccf22 some old wip shit 2017-11-02 14:57:57 -06:00
Brian Picciano
305642b5a4 older change to sandbox/graphs.md 2017-11-02 14:57:49 -06:00
Brian Picciano
0b2b53ef56 implement gg.Graph methods Union, DelValueIn, and Values 2017-10-22 11:39:32 -06:00
Brian Picciano
9b577c0df8 initial implementation of immutable Graph 2017-10-21 16:54:40 -06:00
Brian Picciano
d0260a7d68 playing around with the basic definition of graphs 2017-10-07 16:13:48 -06:00
Brian Picciano
e3b997cc7d should probably just commit this shit 2017-07-11 18:52:07 -06:00
Brian Picciano
97f972f287 refactor variable stuff to use fewer op types and be more consistent 2017-02-16 11:37:31 -07:00
Brian Picciano
ea869e7306 write some tests 2017-02-16 10:53:27 -07:00
Brian Picciano
685cde7afb got variable assignment working 2017-02-15 15:41:14 -07:00
Brian Picciano
463d693b17 implement tupElOp and use it in vAsTup 2017-02-15 08:36:23 -07:00
Brian Picciano
c6ce87df84 rename cmd to op in vm 2017-02-15 08:18:19 -07:00
Brian Picciano
3d02b6a591 fix add, clean up main 2017-02-12 11:44:10 -07:00
Brian Picciano
73d81dcbcc refactor to use an interface instead of buildCmd 2017-02-12 11:32:44 -07:00
Brian Picciano
4180e6b072 begin separating types into lang vs vm 2017-02-12 09:53:59 -07:00
Brian Picciano
a5040a6248 attach term Type to values 2017-02-12 08:55:27 -07:00
Brian Picciano
8937201f5c improve how buildCmds are defined 2017-02-11 13:35:02 -07:00
Brian Picciano
54448fda80 taking a new approach using tuples and atoms for compilation, it's working out a lot better 2017-02-11 10:24:02 -07:00
Brian Picciano
b0b5b01fd9 make Tuple compile to a struct 2016-08-21 12:20:07 -06:00