- Language (and "framework") for building web frontend applications
- Can be used in place of HTML, CSS and JavaScript
- Compiles into the above
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<div>{"<"} Less than, {">"} greater than </div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// to, from are awkward here. generateReport only needs them to send an email | |
const generateReport = (to, from, data) => | |
mungeData(data, (warnings, munged) => | |
renderReport(munged, (report) => emailReport(to, from, report))) | |
generateReport(“info@reports.com”, “app@test.net”, {some: ‘data’}) | |
// if emailReport was curried, we could pass in the emailer |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// instanceof is a prototype identity check. | |
// NOT a type check. | |
// That means it lies across execution contexts, | |
// when prototypes are dynamically reassigned, | |
// and when you throw confusing cases like this | |
// at it: | |
function foo() {} | |
const bar = { a: 'a'}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const I = x => x | |
const K = x => y => x | |
const A = f => x => f (x) | |
const T = x => f => f (x) | |
const W = f => x => f (x) (x) | |
const C = f => y => x => f (x) (y) | |
const B = f => g => x => f (g (x)) | |
const S = f => g => x => f (x) (g (x)) | |
const S_ = f => g => x => f (g (x)) (x) | |
const S2 = f => g => h => x => f (g (x)) (h (x)) |
-
We have absolutely no idea what we're doing in tech. Please explain the utmost basic things to us.
-
We only do web design. Our whole reason of being in tech is to make things pretty. Consider us the doilies of the industry.
-
We're not laughing about your joke, so we clearly need you explain it to us. In great detail.
-
We're only in tech to find a husband, boyfriend or generally to get laid.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Use: for testing against email regex | |
ref: http://codefool.tumblr.com/post/15288874550/list-of-valid-and-invalid-email-addresses | |
List of Valid Email Addresses | |
email@example.com | |
firstname.lastname@example.com | |
email@subdomain.example.com | |
firstname+lastname@example.com |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.