Skip to content

Instantly share code, notes, and snippets.

View PascalLeMerrer's full-sized avatar

Pascal Le Merrer PascalLeMerrer

View GitHub Profile
@charbelrami
charbelrami / elm-grammar.ebnf
Created January 26, 2024 13:41
Elm EBNF grammar
program = [ comment ], [ "port" ], "module", module_name, "exposing", "(", exposed_list, ")", { import_statement }, { declaration }, { comment };
module_name = identifier, { ".", identifier }, [ comment ];
exposed_list = identifier | "(", identifier, { ",", identifier }, ")", [ comment ] | "..";
import_statement = "import", module_name, [ import_alias ], [ "exposing", "(", exposed_list, ")" ], [ comment ];
import_alias = "as", identifier, [ comment ];
declaration = type_declaration
| type_alias_declaration
@JoelQ
JoelQ / elm-types-glossary.md
Last active June 26, 2024 03:05
Elm Type Glossary

Elm Types Glossary

There's a lot of type terminology and jargon going around when discussing types in Elm. This glossary attempts to list some of the most common type terms along with synonyms, terms from other language communities, examples, and links to more detailed articles on each topic.

@jasonrm
jasonrm / override-riot-typescript.js
Last active July 11, 2017 05:41
Use typescript instead of typescript-simple with RiotJS
var typescriptConfig = require('./tsconfig.json');
var typescript = require('typescript');
var riot = require('riot');
// Override typescript compiler
newTypescriptCompiler = function (js) {
return typescript.transpile(js, typescriptConfig);
};
defaultReq = riot.parsers._req;
riot.parsers._req = (name) => {