Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Haskell
Wiki community
Recent changes
Random page
HaskellWiki
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
User:Drostie
(section)
User page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
User contributions
Logs
View user groups
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Subtyped metadata language == I'm reasonably sure that you can use subtyping to do arbitrary metadata (which is close to the way "mixins" work) with a type system. My goal there is to (a) make a programming language which is effortless at expressing metadata; (b) use that language's parse trees as its own data structure, so that every data structure also has metadata associated with it; (c) write the subtype-checker in the language itself; (d) offer a compiler which by default type-checks, but where this can easily be turned off. If I were really optimistic I would then say that maybe we could support a really generic polymorphism, where technically 1 is ''defined'' as the Church number but there is metadata which tells the compiler that it's ''okay'' to store it as a bignum, or a long, or an int, or a short, or a byte, or a bit. The idea is that the language would entertain the notion of multiple perspectives on the same data, and would be able to lazily autoconvert between them ("You wanted to compute a multiplication? Okay -- switching to a decimal representation. Oh, now you want to repeat a function that many times? I've got a Church numeral for you..."). With a dynamically pluggable syntax, ideally we'd be able to translate the abstract parse trees (which are just data structures) from language to language, saying "here is the Python translation of what you wrote, here is the Haskell translation of what you wrote," etc. Then we tell the Pythonistas that they've secretly been programming in the new language all along, and here's a useful subtype-checker which they can use to make their code better -- oh, and if they want to use our libraries, that's cool too.
Summary:
Please note that all contributions to HaskellWiki are considered to be released under simple permissive license (see
HaskellWiki:Copyrights
for details). If you don't want your writing to be edited mercilessly and redistributed at will, then don't submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
DO NOT SUBMIT COPYRIGHTED WORK WITHOUT PERMISSION!
Cancel
Editing help
(opens in new window)
Toggle limited content width