<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
I'm not sure, I don't know LISP in detail, but as far as I know, LISP
is a fully dynamic language. <br>
<br>
I actually meant a static language where you build your own strong
types
using the language itself. On the micro level, the language only knows
abouts bits and bytes without semantics, just like assembler, no types
at all. But the language allows you to build whatever "type" or
"semantics" you want from scratch, by providing a keyword that forces
certain part
of the program to be evaluated at compile time. A bit like macros, but
written in the same language. Although not exactly the same, the
Digital Mars D language has a "static if (p) { q }" statement, where p
must evaluate to a constant expression at compile time, otherwise the
compiler gives an error/warning (I'm not sure, haven't tried it yet).
You can do that in C++ (using templates) and Haskell (using types) but
these are actually mini-sub-languages. Probably giving control to the
programmer of how type-checking should be coded bypasses the advantages
of strong typing, so this is most likely a dumb idea...<br>
<br>
Anyway, I should not mention these ideas, I'm just a programmer, not a
computer scientist ;-)<br>
<br>
Peter<br>
<br>
Adrian Neumann wrote:
<blockquote cite="mid:46EA291C.2010306@inf.fu-berlin.de" type="cite">
  <pre wrap="">-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160

I heard only rumors, but isn't Lisp supposed to be just that? A
programmable programming language?

Peter Verswyvelen schrieb:
  </pre>
  <blockquote type="cite">
    <pre wrap="">This is all very cool stuff, but sometimes I wander if it isn't possible
to drop the special languages for fiddling with types, and introduce
just a single language which has no types, only raw data from which you
can built your own "types" (as in the old days when we used macro
assemblers ;-), but the language has two special keywords: static and
dynamic, where code annotated with static runs in the "compiler domain",
and code annotated with dynamic runs in "application domain". Of course,
I don't know much about this, so this idea might be totally insane ;-)
Probably this is impossible because of the halting problem or something...

Pete

Don Stewart wrote:
    </pre>
    <blockquote type="cite">
      <blockquote type="cite">
        <blockquote type="cite">
          <pre wrap="">Better here means "better" -- a functional language on the type 
system,
to type a functional language on the value level.

-- Don
      
          </pre>
        </blockquote>
        <pre wrap="">For a taste, see Instant Insanity transliterated in this functional 
language:

<a class="moz-txt-link-freetext" href="http://hpaste.org/2689">http://hpaste.org/2689</a>

NB: it took me 5 minutes, and that was my first piece of coding ever 
with Type families
    
        </pre>
      </blockquote>
      <pre wrap="">Wow. Great work!
The new age of type hackery has dawned.

-- Don
_______________________________________________
Haskell-Cafe mailing list
<a class="moz-txt-link-abbreviated"
 href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a>
<a class="moz-txt-link-freetext"
 href="http://www.haskell.org/mailman/listinfo/haskell-cafe">http://www.haskell.org/mailman/listinfo/haskell-cafe</a>


  
      </pre>
    </blockquote>
    <pre wrap="">_______________________________________________
Haskell-Cafe mailing list
<a class="moz-txt-link-abbreviated"
 href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a>
<a class="moz-txt-link-freetext"
 href="http://www.haskell.org/mailman/listinfo/haskell-cafe">http://www.haskell.org/mailman/listinfo/haskell-cafe</a>
    </pre>
  </blockquote>
  <pre wrap=""><!---->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - <a class="moz-txt-link-freetext"
 href="http://enigmail.mozdev.org">http://enigmail.mozdev.org</a>

iD8DBQFG6ikc11V8mqIQMRsRA+PzAKCN0bC6lv8p9WEwJkJrcczktIdKGACfUdkt
0QBGlmgwfYrKS6lKEwQihkc=
=31jo
-----END PGP SIGNATURE-----
_______________________________________________
Haskell-Cafe mailing list
<a class="moz-txt-link-abbreviated"
 href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a>
<a class="moz-txt-link-freetext"
 href="http://www.haskell.org/mailman/listinfo/haskell-cafe">http://www.haskell.org/mailman/listinfo/haskell-cafe</a>


  </pre>
</blockquote>
<br>
</body>
</html>