Skip to content

luqui/morphism

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

An experimental purely functional programming language

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published