-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
24 lines (19 loc) · 1.03 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Morphism is an experimental, purely functional programming language. It is not
sure what it is experimenting with just yet, but at the very least, the
following principles are being toyed with:
(1) Extensional: There are *no* intensional objects, as seen in
basically every language ever, created with C-syntax "keyword Name"
declarators:
data Foo = Foo | Bar
class Baz a where
module Moo where
All of the above have intension, meaning you cannot replace them with
their definition because their name (+ scope) is part of the definition.
This makes them much harder to abstract over.
(2) Uniform abstraction: Hitchhiking on the extensional property, every
kind of object can be passed to and returned from lambdas. Further,
repeated code can *always* be beta converted out. This seems to imply
that there are some untyped lambdas, because you can't give a type to
everything that is conceivable to factor out.
(3) Everything is serializable. It is nonsense for a purely functional
language not to have this property. I mean, come on.