• R/O
  • HTTP
  • SSH


No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

A categorical programming language

Rev. 时间 作者
754f319 2022-05-30 14:32:22 Corbin

Factor out loading all atoms in a hive.

3b1eaee 2022-05-30 13:36:29 Corbin

Automatically recursively create directories.

43e9689 2022-05-23 16:12:26 Corbin

Add freezing.

I'm dissatisfied with RPython.

83c02a2 2022-05-23 01:49:34 Corbin

Intern S-expressions.

Also add a DUP bytecode just for optimizations.

f34a2fd 2022-05-17 13:21:38 Corbin

Draw normal vectors as colors.

5613ee7 2022-05-16 13:56:09 Corbin

Factor term ops in CAM.

Need to clean up the math implementations; maybe they should be in their
own module, not spread across cammylib/cam.py and cammylib/elements.py.

dd42f5c 2022-05-16 06:42:42 Corbin

Do some weekend raytracing.

1f1de8e 2022-05-14 14:10:56 Corbin

Re-enable jelly acceptance tests.

55f82c4 2022-05-09 17:19:43 Corbin

Add two jets for natural-number arithmetic.

This makes it possible to solve Project Euler Problem 6.

4110e34 2022-05-09 15:33:01 Corbin

Refactor RPython tools into single multitool.

This is going to result in less compilation time, less duplicated code,
and further simplifications in the RPython modules.

6045e19 2022-05-09 00:40:12 Corbin

Implement equality on lists.

This was a long-standing issue due to the difficulty of implementing

2f1b1f8 2022-05-08 12:14:18 Corbin

Adopt a style for predicates.

b3187e6 2022-05-08 00:09:03 Corbin

Update jelly. Also, split Cammy outputs in Nix.

2ab6bca 2022-04-28 13:39:19 Corbin

Use the cost category for drawing.

5e5d159 2022-04-26 13:06:14 Corbin

Successfully compile to a category.

The target category is the Kleisli category generated by a cost monad.
The resulting raytracer gives an estimated cost for each pixel.

3e7e576 2022-04-17 12:19:14 Corbin

Add exponential function.

fade1e5 2022-04-17 10:08:11 Corbin

Fuck with fast fractals more.

Still doesn't work, but at least doesn't chew memory and crash.

a79d0e3 2022-04-17 09:01:03 Corbin

Add vmprof support.

The "fast" fractal-drawing functions now typecheck, but don't JIT and
run out of memory.

7353729 2022-04-15 10:20:34 Corbin

Add beta-uncurry rule.

be55e72 2022-04-13 13:52:38 Corbin

Start optimizing emitted bytecode.

ff384e3 2022-04-12 12:25:31 Corbin

Fix an incorrect optimization.

7ab896f 2022-04-11 14:47:58 Corbin

Use a variant of the CAM.

More tuning needs to be done, but speed is pretty good compared to the
old interpreter.

a12a5d8 2022-04-09 10:29:59 Corbin

Use CPython 2.7 instead of PyPy.

This is a nixpkgs issue, but I genuinely don't know how it'll turn out,
and I can't afford to wait for them.

93e7472 2022-04-07 13:47:18 Corbin

Improve the JIT merge points.

The generated JIT bridges are much nicer. There's still a lot of
typechecking, though.

9cc1c3a 2022-04-01 13:37:56 Corbin

Get faster fractal membership working, somewhat.

I'm not quite confident in the correctness of my step "monad", which
deliberately breaks the monad laws to facilitate counting evaluation
steps. I'm also not sure why it's so slow.

09a112e 2022-03-30 11:50:39 Corbin

Call djinn from REPL.

5ce1d98 2022-03-30 09:21:26 Corbin

Implement the Yoneda combinators and other stuff.

b6c821c 2022-03-28 15:44:27 Corbin

Allow N to be fancy blackboard N in LaTeX.

8a2fcd2 2022-03-25 14:46:16 Corbin

Add basic acceptance tests for jelly.

Maybe these should be moved to jelly/ instead?

2a8ef1f 2022-03-22 13:36:01 Corbin

Teach movelist about swap.

By synthesizing swap, movelist is able to djinn the unit of the
continuation monad, which is composed of swap and function application.

I don't have a strong explanation for why this occurs, other than that
it seems that the movelist search naturally takes a very long time to
find swap in the first place, and has to rediscover it at every
potential callsite. Providing swap as a synthetic primitive operation
fixes at least one testcase.

Oh, also, give movelist a basic test suite.