• R/O
  • HTTP
  • SSH


No Tags

Frequently used words (click to add to your profile)

javaandroidc++linuxc#windowsobjective-ccocoaqt誰得pythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

A categorical programming language

Rev. 时间 作者
ecdf2d2 master 2023-02-03 06:42:37 Corbin

Figure out FP multiplication.

Test it out by implementing f-sqrt. It somewhat works? But has some
issues. The image and fiber aren't quite right, and it hangs on inputs
like 1.0. Nonetheless, it's promising!

I'm going to have to think about general principles before doing more
work here. This has been a good experiment, at least.

5a96f32 2023-02-03 01:31:41 Corbin

Correct exponent handling for addition.

2ab7e11 2023-02-02 23:22:43 Corbin

Fix FP reificiation.

I had the division backwards. Now, f-one evaluates to 1.0.

23bcde0 2023-02-02 14:41:01 Corbin

Debug FP multiplication somewhat.

For some reason, ground inputs are not giving a ground output. This
might be an issue with the structure of eval°, but I'm not seeing how.

ec5a068 2023-02-02 13:32:51 Corbin

Finish implementing FP.

Does it work? Kind of! We can evaluate f-add and f-mul at 0.0, for
example. We can't print either in general, though.

At this point, it's down to individual missing cases. I personally think
that we'll have fewer special cases overall, but I think that at least
fp-overflow° will need to change since we don't represent infinity with
a maximum exponent.

65b06ab 2023-01-30 16:33:19 Corbin

Clean up imports, fix FP unifications.

FP values are still off by a bit, but this seems to work for f-lt and
f-sign, at least.

6209f4c 2023-01-30 15:50:21 Corbin

More FP.

Strangely, these relations don't want to run forward *or* backward. I'm
starting to think that I've done something wrong with sample-elements,
or maybe build-fp.

bacf8c1 2023-01-30 15:03:37 Corbin

Really start implementing FP.

1.0 becomes 4.0, which is wrong. Also f-sign doesn't evaluate, although
I can compute its image. I suspect that I'll need to go back to the
paper and really focus on implementing each case carefully.

dee936e 2023-01-30 12:54:38 Corbin

Make jelly acceptance jelly-specific.

455bde1 2023-01-30 12:08:19 Corbin

Factor eval° more; make n-pred-maybe reversible.

I'm starting to notice some general patterns about reversibility. I'm
not sure whether I fully understand what's going on, though.

b5d326f 2023-01-30 11:08:39 Corbin

Implement sums; start implementing floats.

c8cc966 2023-01-29 14:08:36 Corbin

Implement relational currying.

I was worried about this, but it turns out to be pretty simple. It
doesn't really want to run backwards, which is fair. It also doesn't
want to run forwards, unless the input is ground. This might be a more
fundamental problem, and we might need to have a curry° to make a more
tractable search.

0f322ce 2023-01-28 14:30:24 Corbin

Search backwards through eval° and cammy°.

I figured it out for eval°, but I do not at all understand why cammy° is
improved by this. Nonetheless, I was able to replace cammy-synth° and
the entire pile of hacks. As a bonus, previous tests which timed out are
now successfully finding valid expressions; djinn is cleverer!

9e2117f 2023-01-25 12:16:19 Corbin

Use a faster sorting routine.

SRFI-132 replaces SRFI-1's quadratic-time approach with a good old
O(n lg n) approach.

e2e6c66 2023-01-25 10:34:03 Corbin

Delete Honey.

Cool idea, no users, no use cases, more complex than just writing a
better REPL. Maybe we can do this later in the future, but for now, I
want to focus on sharing and merging JSON hives.

1793513 2023-01-25 07:28:58 Corbin

Add a djinn to the new REPL.

So much easier!

905bc92 2023-01-25 06:46:24 Corbin

Genuine computation of images and fibers.

Some seemingly-simple functions like (comp succ succ) do not run
backwards very well, and I don't understand why. Also, empty fibers over
2 are decidable, but over N they appear to diverge; I can guess why, but
it's frustrating to see.

0f8f6b6 2023-01-25 02:01:07 Corbin

Evaluate images and preimages directly.

I've gotta figure out how to extract the results decently, but this is
amazing in general. The one thing I don't like is that 1 is in the image
of (comp succ succ), which suggests that succ° is broken somehow.

5f1392f 2023-01-24 14:02:52 Corbin

First swing at computing the image of functions.

Works for zero but not succ. Groundness issues.

5a15826 2023-01-24 12:39:02 Corbin

Print out elements and time taken.

490378c 2023-01-24 09:45:20 Corbin

Format types nicely.

73db59f 2023-01-24 08:47:52 Corbin

Fuck it. Scheme REPL.

6a93a4a 2023-01-24 01:07:16 Corbin

It's all just trash, isn't it?

bc101de 2023-01-17 06:33:40 Corbin

Tab-complete templates too, not just dippers.

d338820 2023-01-14 09:06:27 Corbin

Optimize dissolved expressions, always.

Similar to the old logic, but now that I have a REPL again, I can
quickly iterate.

cd87073 2023-01-13 17:49:17 Corbin

Get new REPL to extract complete terms.

We're gonna hack a bit on new REPL, I guess.

a28b1d9 2023-01-11 02:43:11 Corbin

Factor out some useful relations.

I'm likely going to rewrite all the WASM compiler stuff, but I want to
save the useful stuff so that I don't have to write it again.

It's pretty cool that macros can be modularized. TIL.

edc8a88 2023-01-11 00:00:49 Corbin

Try putting together all of the port stuff.

I think I need to rethink this. It is a tangled nest. Some
supposedly-easy small fragments diverge, and I cannot tell why.

3c16c3b 2023-01-10 09:15:42 Corbin

Use a macro to simplify some append°.

This is a 40% efficient abstraction (5 lines added, 2 lines removed); it
is not worthwhile on its own. It might be more useful in a few minutes,

ac80355 2023-01-09 11:00:44 Corbin

Reach a point of miscompilation.

I think I need to break this compilation action into two pieces. First,
I should convert to ANF or SSA; then, compilation to WASM should be much
easier. This whole ports-and-locals business is not easy to get right.