UNPKG

fez-lisp

Version:

Lisp interpreted & compiled to JavaScript

159 lines (156 loc) 5.57 kB
<head> <meta charset="UTF-8" /> <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height" /> <meta name="description" content="Write and run Fez programs" /> <title>Fez</title> <link rel="icon" type="image/svg+xml" href="./favicon.svg" /> <style> html { color: white; background-color: black; font-family: 'Fantasque' !important; } .centered { text-align: center; } /* @font-face { font-family: 'Fantastic'; src: url(./assets/fonts/FantasqueSansMono-Regular.ttf) format('truetype'); font-display: swap; } */ @font-face { font-family: 'Fantasque'; src: url(./assets/fonts/FantasqueSansMono-Regular.ttf) format('truetype'); font-display: swap; } button { background-color: transparent; border: none; position: absolute; bottom: 15px; right: 15px; cursor: pointer; } button:active { transform: scale(1.2); } button > img { width: 32px; height: 32px; } iframe { width: 90%; height: 200px; border: 1px solid #8f938f; } p { margin: 8px 0 8px 0; } .paragraph { margin-left: 5%; font-size: 16px; } </style> </head> <body> <div class="centered"> <img src="./favicon.svg" height="64px" style="margin-top: 16px; margin-left: 10px" /> <p style="font-size: 32px">Fez</p> <p></p> <p style="font-size: 20px">Simple, typed, lisp programming language</p> </div> <div class="paragraph" style="margin-top: 16px"> <p>Here you will learn everything you need to know about Fez.</p> <ul> <li> It has types and they are mostly infered (no need to define them). </li> <li> Everything is an expression (everything can be assigned to a variable). </li> <li> Tree shaking of functions from standard library (imports automatically and only the functions needed). </li> <li> Tail call and Memoized optimizations on recursions using a simple prefix. </li> <li>It has only Floats, Arrays and Functions.</li> <li>Booleans are the numbers 0 and 1.</li> <li> Strings, Objects, Sets, Trees - these are implemented using only the Array. </li> <li>There is an interpreter written in JavaScript.</li> <li>There is a compiler that compiles to JavaScript.</li> <li> You can always try it on the <a href="https://at-290690.github.io/fez/index.html"> Online Playground </a >. </li> </ul> </div> <div class="paragraph" style="margin-top: 16px"> <p> This language is so simple that an interpreter for it can be implemented in any other language </p> <p>For example there are python, rust and even fez interpreters!</p> <p> The one here can easily run them on the web where you can share your programs with others via a link. </p> </div> <div class="centered"> <iframe src="index.html?l=BQagBAjGBMCUQ%3D%3D%3D"></iframe> </div> <div class="centered"> <iframe src="index.html?l=BQGwpgLgBAHlCMAGAlFA3FAJmAZgSwDswoBDKANxICc8SAjcWKAdzwgAsoPjKQBXYkgBQoSLADOUANrwoAJigBmWAF1UGbPiKkCpKlRIBPCSzadCbWiAol%2BYcUA%3D" ></iframe> </div> <div class="centered"> <iframe src="index.html?l=BQGwpgLgBAFmIgPZQEQAl5KgdUQJxABMBCFASgCg4FEg" ></iframe> </div> <div class="centered"> <iframe src="index.html?t=terminal&l=BQGwpgLgBAhgJnKoYFsBGcaympBqbNAShIChh5EAmKAZiKA%3D" ></iframe> </div> <div class="centered"> <iframe src="index.html?t=terminal&l=BQGwpgLgBAHgzlYBDATipBPKBGKAmKAZigBYBKMqAbigBMwAzASwDswokWO1NYEB3JhAAWUVkKZIQUAG5SArmATIQEMChZIITGe3rMWEgPZcIRqAG1cBYiQC6ZAFDIeGAFxxIAQj5QADDh%2BfpQ0ntAi7MwocNBg4AC2YCzQRgzc6FjwUGaBfs6oGW4ADkZFPvAhUChg8Ua62cLsIEgxUHE1SSlpBbzw%2Ba7F8nDC5crgLADmInyU2MHUHLS0DexyIIqBHOGNbSzLqem9cP2FE5C%2B8zRn25FM0bEJnVAHPZlwQA%3D%3D%3D" ></iframe> </div> <div class="centered"> <iframe src="index.html?t=terminal&l=NwAgsghgLgFgpgW2gSwMYQDYgPYAc4BOK2AdgM4BQAFANQi0gCMIATAJQgDMHoEAJnyYAaViIglBnagFomPECTgBzaHCYgo2EErhQQ0xjNZyQoMgFcARlCKo9zAGYFsCVtQBUXJgAZ5CcxhQyLgYAJ5eluGM3tQA9CAAbKzyfMgAbsh8akmRbhSgAELIUADuyGRqeITE5NQAfHXq7KYgBMhKMHpkMMgO9iC5LAPFlFQAPGMgACzJLRhwfSDdvXozg8NQowA%2BxlPylsVlFSAA8gBKA7olcHAkxuKCU9QAfrOgB6XlagByJwAqOAcbioAD0QABWEAAdn2hy%2BIAAGudLqUbndIQ9odQAGTTLiwz7HACC3wAIijrrc8ZjOEA" ></iframe> </div> <div class="centered"> <iframe src="index.html?t=terminal&l=NwAgQg9hA2CmCGA7EEAOsBO8AuBLCiAzgFAAUSAJiAGbzSGwjYYCusAlCKNBAOa4BjOiACCAOQAiZCBhp0GTVhy4ge%2FIdBAB5AEplEEbHPrLufQcLFaAKkA%3D" ></iframe> </div> <div class="centered"> <iframe src="index.html?t=terminal&l=NwAgwg9gtgDghgJwJYGcIDsUCgAUA%2BEARhACYBKEUAYwAsBTKgaxCQDMiWUQBzBOuAC50EIATTjpSuADykQAZgrV6TFuxKcQAGzoouYiQtx4AvB3KUQtBszYdUPPoOGjxkiCLoBHAK5wtohBSONJmGhbKNmpyDjp6roYeIN5%2BAQJBJLhmxIRKViq27MQOKf6BREA" ></iframe> </div> <div class="centered"> <iframe src="index.html?t=terminal&l=NwAgkgZiCmAeAOAnaBnFBLA9gOwFAAp0p8BeEARhACYBKCgBhAFpy7QiKYBHAVwEMANimoAaEMgAuPRNgahMEgBbREAd3QpoYydNksCA6BJABPEIWIA%2BahTr4A1J1rnHVEAGYaXkKD5p0AOayEpimIABGftAAJiA4IADGONHoElh4uKAAqhjYASDRoRCYiCAAtjwCafCGMAjI%2FjgoBBz41m6s5oUguCB95obGsAxsBdAQ6NjQILC9%2FfiDYVSePmMTU6ZzfQ4zpt6gOjIgStMoPGVxUMN82LEmcyz0oxxJt6npIBogEIKa2ka6ZjkehAA" ></iframe> </div> </body>