1
1
mirror of https://github.com/github/semantic.git synced 2024-12-30 02:14:20 +03:00
Commit Graph

126 Commits

Author SHA1 Message Date
Rob Rix
f469b4f691 Implement Free.ana without application or composition operators.
Swift can’t trace `noescape` or `rethrows` transitively through them.
2015-10-28 12:05:40 -04:00
Rob Rix
8ca7cf7599 Free.merge’s argument does not escape. 2015-10-28 12:04:56 -04:00
Rob Rix
d7eb23d291 Free.cata rethrows errors. 2015-10-28 11:58:13 -04:00
Rob Rix
9228031f5d Free.flatMap rethrows errors. 2015-10-28 11:57:29 -04:00
Rob Rix
feabaa01a7 Free.map rethrows errors. 2015-10-28 11:56:49 -04:00
Rob Rix
abab6f3c7b Free.sum’s cost function does not escape. 2015-10-28 11:55:38 -04:00
Rob Rix
9f60616f8b Free.reduce’s combining function does not escape. 2015-10-28 11:55:06 -04:00
Rob Rix
2252f8dbe6 Free.analysis rethrows errors. 2015-10-28 11:54:40 -04:00
Rob Rix
11a2d2700a Free.cata’s argument does not escape. 2015-10-28 11:53:47 -04:00
joshvera
20e2a520e6 add .Fixed to Syntax 2015-10-23 14:47:44 -04:00
Rob Rix
aca676dd04 Reintroduce the CofreeType → Free convenience constructor. 2015-10-23 11:43:05 -04:00
Rob Rix
2b216398b7 iterate → cata 2015-10-23 11:36:05 -04:00
Rob Rix
9b310b8c78 coiterate → ana 2015-10-23 11:34:53 -04:00
Rob Rix
c187b796f3 Merge branch 'master' into annotate-diffs
Conflicts:
	prototype/Doubt/Free.swift
2015-10-23 10:48:17 -04:00
Rob Rix
b194dede9a Add annotations to Free 😭
This is heartbreaking, but it was always going to end this way.
2015-10-22 18:55:28 -04:00
Rob Rix
b425d69c36 Define hylo and reiterate through Syntax. 2015-10-22 18:18:05 -04:00
Rob Rix
4195edc469 Define a reiterate function. 2015-10-22 17:25:58 -04:00
Rob Rix
d0aeedeb52 Define iterate so as to clarify its relationship with cata. 2015-10-22 17:15:49 -04:00
Rob Rix
521e253240 Define hylomorphism through Syntax. 2015-10-22 17:11:35 -04:00
Rob Rix
f4966684a5 Rename the functions to unfold. 2015-10-22 17:09:40 -04:00
Rob Rix
f0379f421b Define ana using the backwards application operator to clarify dataflow. 2015-10-22 17:08:17 -04:00
Rob Rix
49fb14f6a8 Define Free equality over Patch<Term: CofreeType> without reference to annotation equality. 2015-10-22 16:01:48 -04:00
Rob Rix
39ae63d426 It doesn’t matter if annotations are equatable. 2015-10-22 15:52:08 -04:00
Rob Rix
5e0fbd8d8c Revert "Constrain Free equality over CofreeType to terms whose annotations are equatable."
This reverts commit a79f354992cbca36fa3e55de648e6bc6c55f956b.
2015-10-22 15:51:52 -04:00
Rob Rix
651a3c2f91 Don’t constrain recursive Free construction from TermType to the same annotation type. 2015-10-22 15:50:16 -04:00
Rob Rix
657d7edbba Merge branch 'unfold-diffs' into annotate-diffs
Conflicts:
	prototype/Doubt/Free.swift
	prototype/Doubt/TermType.swift
2015-10-22 13:40:19 -04:00
Rob Rix
f36651660b ana is static. 2015-10-22 13:11:00 -04:00
Rob Rix
f145bb4293 Document ana. 2015-10-22 12:53:18 -04:00
Rob Rix
d4744200ae Rename the parameter to transform. 2015-10-22 12:51:26 -04:00
Rob Rix
e7a525910f Implement anamorphism over Free. 2015-10-22 12:49:41 -04:00
Rob Rix
6d665ff391 Remove an unused conversion of Free to JSON. 2015-10-22 10:57:31 -04:00
Rob Rix
76b7df9d68 Constrain Free equality over CofreeType to terms whose annotations are equatable. 2015-10-22 10:54:49 -04:00
Rob Rix
8cbb69fa97 Rename the Syntax piecewise JSON functions after the type parameters (mostly). 2015-10-22 10:47:48 -04:00
Rob Rix
40fe88b4a4 Rename the Syntax piecewise equality functions after the type parameters (mostly). 2015-10-22 10:46:51 -04:00
Rob Rix
831f8dcbae Name Free’s piecewise JSON functions after the type parameters. 2015-10-22 10:43:42 -04:00
Rob Rix
d678946fda Name the piecewise equality functions after the type parameters. 2015-10-22 10:41:42 -04:00
Rob Rix
0a28a390b7 Remove SyntaxConvertible. 2015-10-22 10:40:08 -04:00
Rob Rix
5cfe2b33b9 Free is no longer SyntaxConvertible. 2015-10-22 10:39:33 -04:00
Rob Rix
750def8107 Fix up some comments. 2015-10-22 10:37:00 -04:00
Rob Rix
ad05308ab6 Define the recursive TermType → Free constructor over CofreeType instead. 2015-10-22 10:33:25 -04:00
Rob Rix
c9b33f826c Add an annotation parameter to Free. 2015-10-22 10:30:38 -04:00
Rob Rix
03aa95caf9 Rename the TermType.LeafType associated type to Leaf. 2015-10-22 10:17:51 -04:00
Rob Rix
7eed54dcdc Rename the B type parameter to Value. 2015-10-22 10:12:52 -04:00
Rob Rix
2aa104ab8c Rename the A type parameter to Leaf. 2015-10-22 10:10:56 -04:00
Rob Rix
f5380548e2 Annotate Free JSON output with the case explicitly.
Diffs of diffs were getting pretty confusing.
2015-10-21 11:57:33 -04:00
Josh Vera
107df1988d Merge pull request #132 from github/merge
Merge
2015-10-19 15:10:19 -04:00
Rob Rix
7c16e4d0cc Recover before/after states with merge. 2015-10-19 13:14:21 -04:00
Rob Rix
607fbb9672 discardNullTerms is static. 2015-10-19 13:13:52 -04:00
Rob Rix
1cf323e416 Add a partial merge method. 2015-10-19 13:12:45 -04:00
Rob Rix
8b5c0c87f8 merge returns a Term. 2015-10-19 13:10:35 -04:00