From 7c1a18644f3d68367697fa17feb84e2ec9a51531 Mon Sep 17 00:00:00 2001 From: Jack Leow Date: Wed, 18 Dec 2024 19:01:34 -0800 Subject: [PATCH] Updated strongly-typed/dallascala output HTML. --- docs/strongly-typed/dallasscala/index.html | 928 +++++++++++++-------- 1 file changed, 571 insertions(+), 357 deletions(-) diff --git a/docs/strongly-typed/dallasscala/index.html b/docs/strongly-typed/dallasscala/index.html index 98358b3..b85049a 100644 --- a/docs/strongly-typed/dallasscala/index.html +++ b/docs/strongly-typed/dallasscala/index.html @@ -26229,159 +26229,11 @@ })); }) }); -var _jackgene$talks$Deck_Slide_Introduction$outOfScope = _elm_lang$core$Native_Utils.update( - _jackgene$talks$Deck_Slide_Common$baseSlideModel, - { - view: F2( - function (page, _p3) { - return A4( - _jackgene$talks$Deck_Slide_Template$standardSlideView, - page, - _jackgene$talks$Deck_Slide_Introduction$heading, - 'Not All Errors Can Be Detected Before Runtime', - A2( - _rtfeldman$elm_css$Html_Styled$div, - {ctor: '[]'}, - { - ctor: '::', - _0: A2( - _rtfeldman$elm_css$Html_Styled$p, - {ctor: '[]'}, - { - ctor: '::', - _0: _rtfeldman$elm_css$Html_Styled$text('Let’s start by talking about the kinds of errors no type system could detect:'), - _1: { - ctor: '::', - _0: A2( - _rtfeldman$elm_css$Html_Styled$ul, - {ctor: '[]'}, - { - ctor: '::', - _0: A2( - _jackgene$talks$Deck_Slide_Common$li, - {ctor: '[]'}, - { - ctor: '::', - _0: A2( - _rtfeldman$elm_css$Html_Styled$b, - {ctor: '[]'}, - { - ctor: '::', - _0: _rtfeldman$elm_css$Html_Styled$text('Infinite Loops'), - _1: {ctor: '[]'} - }), - _1: { - ctor: '::', - _0: _rtfeldman$elm_css$Html_Styled$text(' - or in general, if a program will terminate'), - _1: {ctor: '[]'} - } - }), - _1: { - ctor: '::', - _0: A2( - _jackgene$talks$Deck_Slide_Common$li, - {ctor: '[]'}, - { - ctor: '::', - _0: A2( - _rtfeldman$elm_css$Html_Styled$b, - {ctor: '[]'}, - { - ctor: '::', - _0: _rtfeldman$elm_css$Html_Styled$text('Stack Overflow'), - _1: {ctor: '[]'} - }), - _1: { - ctor: '::', - _0: _rtfeldman$elm_css$Html_Styled$text(' - exceeding the call stack, typically due to recursive functions'), - _1: {ctor: '[]'} - } - }), - _1: { - ctor: '::', - _0: A2( - _jackgene$talks$Deck_Slide_Common$li, - {ctor: '[]'}, - { - ctor: '::', - _0: A2( - _rtfeldman$elm_css$Html_Styled$b, - {ctor: '[]'}, - { - ctor: '::', - _0: _rtfeldman$elm_css$Html_Styled$text('Out of Memory Error'), - _1: {ctor: '[]'} - }), - _1: { - ctor: '::', - _0: _rtfeldman$elm_css$Html_Styled$text(' - error allocating new memory'), - _1: {ctor: '[]'} - } - }), - _1: { - ctor: '::', - _0: A2( - _jackgene$talks$Deck_Slide_Common$li, - {ctor: '[]'}, - { - ctor: '::', - _0: A2( - _rtfeldman$elm_css$Html_Styled$b, - {ctor: '[]'}, - { - ctor: '::', - _0: _rtfeldman$elm_css$Html_Styled$text('Arithmetic Errors'), - _1: {ctor: '[]'} - }), - _1: { - ctor: '::', - _0: _rtfeldman$elm_css$Html_Styled$text(' - division by zero, overflows, underflows'), - _1: {ctor: '[]'} - } - }), - _1: { - ctor: '::', - _0: A2( - _jackgene$talks$Deck_Slide_Common$li, - {ctor: '[]'}, - { - ctor: '::', - _0: A2( - _rtfeldman$elm_css$Html_Styled$b, - {ctor: '[]'}, - { - ctor: '::', - _0: _rtfeldman$elm_css$Html_Styled$text('Functional Errors / Incorrectness'), - _1: {ctor: '[]'} - }), - _1: { - ctor: '::', - _0: _rtfeldman$elm_css$Html_Styled$text(' - program not meeting functional requirements'), - _1: { - ctor: '::', - _0: _rtfeldman$elm_css$Html_Styled$text(' e.g., font is the wrong color, using floating point numbers for monetary calculations'), - _1: {ctor: '[]'} - } - } - }), - _1: {ctor: '[]'} - } - } - } - } - }), - _1: {ctor: '[]'} - } - }), - _1: {ctor: '[]'} - })); - }) - }); var _jackgene$talks$Deck_Slide_Introduction$inScope = _elm_lang$core$Native_Utils.update( _jackgene$talks$Deck_Slide_Common$baseSlideModel, { view: F2( - function (page, _p4) { + function (page, _p3) { return A4( _jackgene$talks$Deck_Slide_Template$standardSlideView, page, @@ -30952,54 +30804,100 @@ _elm_lang$core$String$fromChar(opt.valueTypeAnnotationOperator))))), _1: { ctor: '::', - _0: A2( - _elm_tools$parser$Parser$map, - function (_p4) { - return { - ctor: '::', - _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$Operator, _1: '('}, - _1: A2( - _elm_lang$core$Basics_ops['++'], - revTokens, - { - ctor: '::', - _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$FunctionReference, _1: identifier}, - _1: {ctor: '[]'} - }) - }; - }, - _elm_tools$parser$Parser$symbol('(')), + _0: _elm_tools$parser$Parser$oneOf( + A2( + _elm_lang$core$List$map, + function (_p4) { + var _p5 = _p4; + return A2( + _elm_tools$parser$Parser$andThen, + function (openGroupOp) { + return A2( + _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Common$consThenRevConcat, + openGroupOp, + A2( + _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_CLikeCommon$typeReferenceInnerLoop, + opt, + { + ctor: '::', + _0: _p5._1, + _1: {ctor: '[]'} + })); + }, + A2( + _elm_tools$parser$Parser$map, + function (op) { + return { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$Operator, _1: op}, + _1: { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$FunctionReference, _1: identifier}, + _1: {ctor: '[]'} + } + }; + }, + _elm_tools$parser$Parser$source(_p5._0))); + }, + opt.typeReferenceGroupingSymbols)), _1: { ctor: '::', _0: A2( - _elm_tools$parser$Parser$map, - function (_p5) { - return { - ctor: '::', - _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$Operator, _1: '{'}, - _1: A2( - _elm_lang$core$Basics_ops['++'], - revTokens, - { - ctor: '::', - _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$FunctionReference, _1: identifier}, - _1: {ctor: '[]'} - }) - }; - }, - _elm_tools$parser$Parser$symbol('{')), + _elm_tools$parser$Parser$andThen, + A2(_pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_CLikeCommon$variableOrFunctionReferenceLoop, opt, identifier), + _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_CLikeCommon$nonBreakingWhitespaceOrComment), _1: { ctor: '::', - _0: _elm_tools$parser$Parser$succeed( - A2( - _elm_lang$core$Basics_ops['++'], - revTokens, - { + _0: A2( + _elm_tools$parser$Parser$map, + function (_p6) { + return { ctor: '::', - _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$Normal, _1: identifier}, - _1: {ctor: '[]'} - })), - _1: {ctor: '[]'} + _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$Operator, _1: '('}, + _1: A2( + _elm_lang$core$Basics_ops['++'], + revTokens, + { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$FunctionReference, _1: identifier}, + _1: {ctor: '[]'} + }) + }; + }, + _elm_tools$parser$Parser$symbol('(')), + _1: { + ctor: '::', + _0: A2( + _elm_tools$parser$Parser$map, + function (_p7) { + return { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$Operator, _1: '{'}, + _1: A2( + _elm_lang$core$Basics_ops['++'], + revTokens, + { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$FunctionReference, _1: identifier}, + _1: {ctor: '[]'} + }) + }; + }, + _elm_tools$parser$Parser$symbol('{')), + _1: { + ctor: '::', + _0: _elm_tools$parser$Parser$succeed( + A2( + _elm_lang$core$Basics_ops['++'], + revTokens, + { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$Normal, _1: identifier}, + _1: {ctor: '[]'} + })), + _1: {ctor: '[]'} + } + } } } } @@ -31092,7 +30990,7 @@ ctor: '::', _0: A2( _elm_tools$parser$Parser$andThen, - function (_p6) { + function (_p8) { return A2( _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Common$consThenRevConcat, { @@ -31218,34 +31116,34 @@ _1: { ctor: '::', _0: A2( - _elm_tools$parser$Parser$andThen, - _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_CLikeCommon$typeReferenceLoop(opt), - _elm_tools$parser$Parser$source(opt.typeCheckCastOperator)), - _1: { - ctor: '::', - _0: A2( - _elm_tools$parser$Parser$map, - _elm_lang$core$List$singleton, - _elm_tools$parser$Parser$oneOf( - { + _elm_tools$parser$Parser$map, + _elm_lang$core$List$singleton, + _elm_tools$parser$Parser$oneOf( + { + ctor: '::', + _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_CLikeCommon$operatorChar, + _1: { ctor: '::', - _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_CLikeCommon$operatorChar, + _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_CLikeCommon$groupChar, _1: { ctor: '::', - _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_CLikeCommon$groupChar, - _1: { - ctor: '::', - _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_CLikeCommon$number, - _1: {ctor: '[]'} - } + _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_CLikeCommon$number, + _1: {ctor: '[]'} } - })), + } + })), + _1: { + ctor: '::', + _0: A2( + _elm_tools$parser$Parser$andThen, + _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_CLikeCommon$keywordParser(opt), + A2(_elm_tools$parser$Parser$keep, _elm_tools$parser$Parser$oneOrMore, _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_CLikeCommon$isIdentifierNameChar)), _1: { ctor: '::', _0: A2( _elm_tools$parser$Parser$andThen, - _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_CLikeCommon$keywordParser(opt), - A2(_elm_tools$parser$Parser$keep, _elm_tools$parser$Parser$oneOrMore, _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_CLikeCommon$isIdentifierNameChar)), + _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_CLikeCommon$typeReferenceLoop(opt), + _elm_tools$parser$Parser$source(opt.typeCheckCastOperator)), _1: {ctor: '[]'} } } @@ -31258,9 +31156,9 @@ return _elm_tools$parser$Parser$run( A2( _elm_tools$parser$Parser$map, - function (_p7) { + function (_p9) { return _elm_lang$core$List$concat( - _elm_lang$core$List$reverse(_p7)); + _elm_lang$core$List$reverse(_p9)); }, A2( _elm_tools$parser$Parser$repeat, @@ -31697,19 +31595,19 @@ _0: 'throw', _1: { ctor: '::', - _0: 'try', + _0: 'to', _1: { ctor: '::', - _0: 'typealias', + _0: 'try', _1: { ctor: '::', - _0: 'typeof', + _0: 'typealias', _1: { ctor: '::', - _0: 'val', + _0: 'typeof', _1: { ctor: '::', - _0: 'value', + _0: 'val', _1: { ctor: '::', _0: 'var', @@ -31932,78 +31830,74 @@ _0: 'Char', _1: { ctor: '::', - _0: 'String', + _0: 'Byte', _1: { ctor: '::', - _0: 'Byte', + _0: 'Short', _1: { ctor: '::', - _0: 'Short', + _0: 'Int', _1: { ctor: '::', - _0: 'Int', + _0: 'Long', _1: { ctor: '::', - _0: 'Long', + _0: 'UByte', _1: { ctor: '::', - _0: 'UByte', + _0: 'UShort', _1: { ctor: '::', - _0: 'UShort', + _0: 'UInt', _1: { ctor: '::', - _0: 'UInt', + _0: 'ULong', _1: { ctor: '::', - _0: 'ULong', + _0: 'Float', _1: { ctor: '::', - _0: 'Float', + _0: 'Double', _1: { ctor: '::', - _0: 'Double', + _0: 'BooleanArray', _1: { ctor: '::', - _0: 'BooleanArray', + _0: 'CharArray', _1: { ctor: '::', - _0: 'CharArray', + _0: 'StringArray', _1: { ctor: '::', - _0: 'StringArray', + _0: 'ByteArray', _1: { ctor: '::', - _0: 'ByteArray', + _0: 'ShortArray', _1: { ctor: '::', - _0: 'ShortArray', + _0: 'IntArray', _1: { ctor: '::', - _0: 'IntArray', + _0: 'LongArray', _1: { ctor: '::', - _0: 'LongArray', + _0: 'UByteArray', _1: { ctor: '::', - _0: 'UByteArray', + _0: 'UShortArray', _1: { ctor: '::', - _0: 'UShortArray', + _0: 'UIntArray', _1: { ctor: '::', - _0: 'UIntArray', + _0: 'ULongArray', _1: { ctor: '::', - _0: 'ULongArray', + _0: 'FloatArray', _1: { ctor: '::', - _0: 'FloatArray', - _1: { - ctor: '::', - _0: 'DoubleArray', - _1: {ctor: '[]'} - } + _0: 'DoubleArray', + _1: {ctor: '[]'} } } } @@ -32100,6 +31994,25 @@ c, _elm_lang$core$Native_Utils.chr('#')); }; +var _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$backspace = A2( + _elm_tools$parser$Parser$map, + function (c) { + return { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$Comment, _1: c}, + _1: {ctor: '[]'} + }; + }, + _elm_tools$parser$Parser$source( + A2( + _elm_tools$parser$Parser_ops['|.'], + _elm_tools$parser$Parser$symbol('\\'), + A2( + _elm_tools$parser$Parser$ignore, + _elm_tools$parser$Parser$zeroOrMore, + function (_p0) { + return !_pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Common$isLineBreak(_p0); + })))); var _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$multilineComment = _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Common$delimited( { start: '\'\'\'', @@ -32133,8 +32046,8 @@ A2( _elm_tools$parser$Parser$ignore, _elm_tools$parser$Parser$zeroOrMore, - function (_p0) { - return !_pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Common$isLineBreak(_p0); + function (_p1) { + return !_pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Common$isLineBreak(_p1); })))); var _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$comment = _elm_tools$parser$Parser$oneOf( { @@ -32165,7 +32078,11 @@ _1: { ctor: '::', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$comment, - _1: {ctor: '[]'} + _1: { + ctor: '::', + _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$backspace, + _1: {ctor: '[]'} + } } } }); @@ -32266,15 +32183,24 @@ } } }); -var _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$isGroupChar = function (c) { - return A2(_elm_lang$core$Set$member, c, _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$groupSet); +var _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$isGroupChar = F2( + function (except, c) { + return A2( + _elm_lang$core$Set$member, + c, + A2(_elm_lang$core$Set$diff, _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$groupSet, except)); + }); +var _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$groupChar = function (except) { + return A2( + _elm_tools$parser$Parser$map, + function (c) { + return {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$Operator, _1: c}; + }, + A2( + _elm_tools$parser$Parser$keep, + _elm_tools$parser$Parser$oneOrMore, + _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$isGroupChar(except))); }; -var _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$groupChar = A2( - _elm_tools$parser$Parser$map, - function (c) { - return {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$Operator, _1: c}; - }, - A2(_elm_tools$parser$Parser$keep, _elm_tools$parser$Parser$oneOrMore, _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$isGroupChar)); var _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$operatorSet = _elm_lang$core$Set$fromList( { ctor: '::', @@ -32375,8 +32301,12 @@ _0: 'object', _1: { ctor: '::', - _0: 'str', - _1: {ctor: '[]'} + _0: 'set', + _1: { + ctor: '::', + _0: 'str', + _1: {ctor: '[]'} + } } } } @@ -32588,7 +32518,23 @@ { ctor: '::', _0: _elm_tools$parser$Parser$symbol('|'), - _1: {ctor: '[]'} + _1: { + ctor: '::', + _0: _elm_tools$parser$Parser$symbol('.'), + _1: { + ctor: '::', + _0: _elm_tools$parser$Parser$symbol(','), + _1: { + ctor: '::', + _0: _elm_tools$parser$Parser$symbol('['), + _1: { + ctor: '::', + _0: _elm_tools$parser$Parser$symbol(']'), + _1: {ctor: '[]'} + } + } + } + } }))), _1: { ctor: '::', @@ -32713,7 +32659,7 @@ ctor: '::', _0: A2( _elm_tools$parser$Parser$andThen, - function (_p1) { + function (_p2) { return _elm_tools$parser$Parser$succeed( A2( _elm_lang$core$Basics_ops['++'], @@ -32745,7 +32691,48 @@ } }); }); -var _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$argLoop = _elm_tools$parser$Parser$oneOf( +var _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$lambdaDeclarationArgLoop = _elm_tools$parser$Parser$oneOf( + { + ctor: '::', + _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$whitespaceOrComment, + _1: { + ctor: '::', + _0: A2( + _elm_tools$parser$Parser$map, + function (name) { + return { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$FunctionArgument, _1: name}, + _1: {ctor: '[]'} + }; + }, + A2(_elm_tools$parser$Parser$keep, _elm_tools$parser$Parser$oneOrMore, _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$isIdentifierNameChar)), + _1: { + ctor: '::', + _0: A2( + _elm_tools$parser$Parser$map, + function (sep) { + return { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$Operator, _1: sep}, + _1: {ctor: '[]'} + }; + }, + A2( + _elm_tools$parser$Parser$keep, + _elm_tools$parser$Parser$oneOrMore, + function (c) { + return _elm_lang$core$Native_Utils.eq( + c, + _elm_lang$core$Native_Utils.chr(',')) || _elm_lang$core$Native_Utils.eq( + c, + _elm_lang$core$Native_Utils.chr(':')); + })), + _1: {ctor: '[]'} + } + } + }); +var _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$functionDeclarationArgLoop = _elm_tools$parser$Parser$oneOf( { ctor: '::', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$whitespaceOrComment, @@ -32823,7 +32810,7 @@ ctor: '::', _0: A2( _elm_tools$parser$Parser$andThen, - function (_p2) { + function (_p3) { return A2( _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Common$consThenRevConcat, { @@ -32831,7 +32818,7 @@ _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$Operator, _1: '('}, _1: {ctor: '[]'} }, - A2(_elm_tools$parser$Parser$repeat, _elm_tools$parser$Parser$zeroOrMore, _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$argLoop)); + A2(_elm_tools$parser$Parser$repeat, _elm_tools$parser$Parser$zeroOrMore, _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$functionDeclarationArgLoop)); }, _elm_tools$parser$Parser$symbol('(')), _1: {ctor: '[]'} @@ -32853,7 +32840,14 @@ _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$DeclarationKeyword, _1: n}, _1: {ctor: '[]'} }, - A2(_elm_tools$parser$Parser$repeat, _elm_tools$parser$Parser$zeroOrMore, _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$classDeclarationLoop)) : (_pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$isKeyword(n) ? _elm_tools$parser$Parser$succeed( + A2(_elm_tools$parser$Parser$repeat, _elm_tools$parser$Parser$zeroOrMore, _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$classDeclarationLoop)) : (_elm_lang$core$Native_Utils.eq(n, 'lambda') ? A2( + _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Common$consThenRevConcat, + { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$DeclarationKeyword, _1: n}, + _1: {ctor: '[]'} + }, + A2(_elm_tools$parser$Parser$repeat, _elm_tools$parser$Parser$zeroOrMore, _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$lambdaDeclarationArgLoop)) : (_pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$isKeyword(n) ? _elm_tools$parser$Parser$succeed( { ctor: '::', _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$Keyword, _1: n}, @@ -32878,76 +32872,160 @@ A2(_elm_tools$parser$Parser$repeat, _elm_tools$parser$Parser$zeroOrMore, _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$stringLiteral)) : A2( _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$functionEvalLoop, n, - {ctor: '[]'})))))); + {ctor: '[]'}))))))); }; -var _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$mainLoop = _elm_tools$parser$Parser$oneOf( - { - ctor: '::', - _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$whitespaceOrComment, - _1: { - ctor: '::', - _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$stringLiteral, - _1: { +var _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$topLevelLoop = F2( + function (includeTypeReference, groupClose) { + return _elm_tools$parser$Parser$oneOf( + { ctor: '::', - _0: A2( - _elm_tools$parser$Parser$andThen, - _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$typeReferenceLoop, - _elm_tools$parser$Parser$source( - _elm_tools$parser$Parser$oneOf( - { - ctor: '::', - _0: _elm_tools$parser$Parser$symbol(':'), - _1: { - ctor: '::', - _0: _elm_tools$parser$Parser$symbol('->'), - _1: {ctor: '[]'} - } - }))), + _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$whitespaceOrComment, _1: { ctor: '::', - _0: A2( - _elm_tools$parser$Parser$andThen, - _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$decoratorLoop, - _elm_tools$parser$Parser$source( - _elm_tools$parser$Parser$symbol('@'))), + _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$stringLiteral, _1: { ctor: '::', _0: A2( - _elm_tools$parser$Parser$map, - _elm_lang$core$List$singleton, - _elm_tools$parser$Parser$oneOf( - { + _elm_tools$parser$Parser$andThen, + _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$typeReferenceLoop, + _elm_tools$parser$Parser$source( + _elm_tools$parser$Parser$oneOf( + includeTypeReference ? { + ctor: '::', + _0: _elm_tools$parser$Parser$symbol(':'), + _1: { + ctor: '::', + _0: _elm_tools$parser$Parser$symbol('->'), + _1: {ctor: '[]'} + } + } : {ctor: '[]'}))), + _1: { + ctor: '::', + _0: A2( + _elm_tools$parser$Parser$andThen, + _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$decoratorLoop, + _elm_tools$parser$Parser$source( + _elm_tools$parser$Parser$symbol('@'))), + _1: { + ctor: '::', + _0: A2( + _elm_tools$parser$Parser$andThen, + function (c) { + return A2( + _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Common$consThenRevConcat, + { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$Operator, _1: c}, + _1: {ctor: '[]'} + }, + A2( + _elm_tools$parser$Parser$repeat, + _elm_tools$parser$Parser$zeroOrMore, + A2( + _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$topLevelLoop, + false, + _elm_lang$core$Maybe$Just( + _elm_lang$core$Native_Utils.chr('}'))))); + }, + _elm_tools$parser$Parser$source( + _elm_tools$parser$Parser$symbol('{'))), + _1: { ctor: '::', - _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$operatorChar, + _0: A2( + _elm_tools$parser$Parser$andThen, + function (c) { + return A2( + _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Common$consThenRevConcat, + { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$Operator, _1: c}, + _1: {ctor: '[]'} + }, + A2( + _elm_tools$parser$Parser$repeat, + _elm_tools$parser$Parser$zeroOrMore, + A2( + _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$topLevelLoop, + false, + _elm_lang$core$Maybe$Just( + _elm_lang$core$Native_Utils.chr(']'))))); + }, + _elm_tools$parser$Parser$source( + _elm_tools$parser$Parser$symbol('['))), _1: { ctor: '::', - _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$groupChar, + _0: A2( + _elm_tools$parser$Parser$andThen, + function (c) { + return A2( + _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Common$consThenRevConcat, + { + ctor: '::', + _0: {ctor: '_Tuple2', _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Model$Operator, _1: c}, + _1: {ctor: '[]'} + }, + A2( + _elm_tools$parser$Parser$repeat, + _elm_tools$parser$Parser$zeroOrMore, + A2( + _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$topLevelLoop, + false, + _elm_lang$core$Maybe$Just( + _elm_lang$core$Native_Utils.chr(')'))))); + }, + _elm_tools$parser$Parser$source( + _elm_tools$parser$Parser$symbol('('))), _1: { ctor: '::', - _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$number, - _1: {ctor: '[]'} + _0: A2( + _elm_tools$parser$Parser$map, + _elm_lang$core$List$singleton, + _elm_tools$parser$Parser$oneOf( + { + ctor: '::', + _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$operatorChar, + _1: { + ctor: '::', + _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$groupChar( + function () { + var _p4 = groupClose; + if (_p4.ctor === 'Just') { + return _elm_lang$core$Set$singleton(_p4._0); + } else { + return _elm_lang$core$Set$empty; + } + }()), + _1: { + ctor: '::', + _0: _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$number, + _1: {ctor: '[]'} + } + } + })), + _1: { + ctor: '::', + _0: A2( + _elm_tools$parser$Parser$andThen, + _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$keywordParser, + A2(_elm_tools$parser$Parser$keep, _elm_tools$parser$Parser$oneOrMore, _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$isIdentifierNameChar)), + _1: {ctor: '[]'} + } } } - })), - _1: { - ctor: '::', - _0: A2( - _elm_tools$parser$Parser$andThen, - _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$keywordParser, - A2(_elm_tools$parser$Parser$keep, _elm_tools$parser$Parser$oneOrMore, _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$isIdentifierNameChar)), - _1: {ctor: '[]'} + } + } } } } - } - } + }); }); +var _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$mainLoop = A2(_pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$topLevelLoop, true, _elm_lang$core$Maybe$Nothing); var _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$parseTokensReversed = _elm_tools$parser$Parser$run( A2( _elm_tools$parser$Parser$map, - function (_p3) { + function (_p5) { return _elm_lang$core$List$concat( - _elm_lang$core$List$reverse(_p3)); + _elm_lang$core$List$reverse(_p5)); }, A2(_elm_tools$parser$Parser$repeat, _elm_tools$parser$Parser$zeroOrMore, _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Python$mainLoop))); var _pablohirafuji$elm_syntax_highlight$SyntaxHighlight_Language_Scala$scala = { @@ -33129,7 +33207,15 @@ _1: { ctor: '::', _0: 'vararg', - _1: {ctor: '[]'} + _1: { + ctor: '::', + _0: 'given', + _1: { + ctor: '::', + _0: 'using', + _1: {ctor: '[]'} + } + } } } } @@ -33196,27 +33282,7 @@ _1: { ctor: '::', _0: 'Double', - _1: { - ctor: '::', - _0: 'Array', - _1: { - ctor: '::', - _0: 'List', - _1: { - ctor: '::', - _0: 'Seq', - _1: { - ctor: '::', - _0: 'Set', - _1: { - ctor: '::', - _0: 'Option', - _1: {ctor: '[]'} - } - } - } - } - } + _1: {ctor: '[]'} } } } @@ -48883,11 +48949,159 @@ }); }(); var _jackgene$talks$Deck_Slide_Conclusion$heading = 'Strong Typing & Quality Software'; -var _jackgene$talks$Deck_Slide_Conclusion$introduction = _elm_lang$core$Native_Utils.update( +var _jackgene$talks$Deck_Slide_Conclusion$outOfScope = _elm_lang$core$Native_Utils.update( _jackgene$talks$Deck_Slide_Common$baseSlideModel, { view: F2( function (page, _p0) { + return A4( + _jackgene$talks$Deck_Slide_Template$standardSlideView, + page, + _jackgene$talks$Deck_Slide_Conclusion$heading, + 'Not All Errors Can Be Detected Before Runtime', + A2( + _rtfeldman$elm_css$Html_Styled$div, + {ctor: '[]'}, + { + ctor: '::', + _0: A2( + _rtfeldman$elm_css$Html_Styled$p, + {ctor: '[]'}, + { + ctor: '::', + _0: _rtfeldman$elm_css$Html_Styled$text('You may have noticed that there are certain kinds of errors we have not covered:'), + _1: { + ctor: '::', + _0: A2( + _rtfeldman$elm_css$Html_Styled$ul, + {ctor: '[]'}, + { + ctor: '::', + _0: A2( + _jackgene$talks$Deck_Slide_Common$li, + {ctor: '[]'}, + { + ctor: '::', + _0: A2( + _rtfeldman$elm_css$Html_Styled$b, + {ctor: '[]'}, + { + ctor: '::', + _0: _rtfeldman$elm_css$Html_Styled$text('Infinite Loops'), + _1: {ctor: '[]'} + }), + _1: { + ctor: '::', + _0: _rtfeldman$elm_css$Html_Styled$text(' - or in general, if a program will terminate'), + _1: {ctor: '[]'} + } + }), + _1: { + ctor: '::', + _0: A2( + _jackgene$talks$Deck_Slide_Common$li, + {ctor: '[]'}, + { + ctor: '::', + _0: A2( + _rtfeldman$elm_css$Html_Styled$b, + {ctor: '[]'}, + { + ctor: '::', + _0: _rtfeldman$elm_css$Html_Styled$text('Stack Overflow'), + _1: {ctor: '[]'} + }), + _1: { + ctor: '::', + _0: _rtfeldman$elm_css$Html_Styled$text(' - exceeding the call stack, typically due to recursive functions'), + _1: {ctor: '[]'} + } + }), + _1: { + ctor: '::', + _0: A2( + _jackgene$talks$Deck_Slide_Common$li, + {ctor: '[]'}, + { + ctor: '::', + _0: A2( + _rtfeldman$elm_css$Html_Styled$b, + {ctor: '[]'}, + { + ctor: '::', + _0: _rtfeldman$elm_css$Html_Styled$text('Out of Memory Error'), + _1: {ctor: '[]'} + }), + _1: { + ctor: '::', + _0: _rtfeldman$elm_css$Html_Styled$text(' - error allocating new memory'), + _1: {ctor: '[]'} + } + }), + _1: { + ctor: '::', + _0: A2( + _jackgene$talks$Deck_Slide_Common$li, + {ctor: '[]'}, + { + ctor: '::', + _0: A2( + _rtfeldman$elm_css$Html_Styled$b, + {ctor: '[]'}, + { + ctor: '::', + _0: _rtfeldman$elm_css$Html_Styled$text('Arithmetic Errors'), + _1: {ctor: '[]'} + }), + _1: { + ctor: '::', + _0: _rtfeldman$elm_css$Html_Styled$text(' - division by zero, overflows, underflows'), + _1: {ctor: '[]'} + } + }), + _1: { + ctor: '::', + _0: A2( + _jackgene$talks$Deck_Slide_Common$li, + {ctor: '[]'}, + { + ctor: '::', + _0: A2( + _rtfeldman$elm_css$Html_Styled$b, + {ctor: '[]'}, + { + ctor: '::', + _0: _rtfeldman$elm_css$Html_Styled$text('Functional Errors / Incorrectness'), + _1: {ctor: '[]'} + }), + _1: { + ctor: '::', + _0: _rtfeldman$elm_css$Html_Styled$text(' - program not meeting functional requirements'), + _1: { + ctor: '::', + _0: _rtfeldman$elm_css$Html_Styled$text(' e.g., font is the wrong color, using floating point numbers for monetary calculations'), + _1: {ctor: '[]'} + } + } + }), + _1: {ctor: '[]'} + } + } + } + } + }), + _1: {ctor: '[]'} + } + }), + _1: {ctor: '[]'} + })); + }) + }); +var _jackgene$talks$Deck_Slide_Conclusion$introduction = _elm_lang$core$Native_Utils.update( + _jackgene$talks$Deck_Slide_Common$baseSlideModel, + { + view: F2( + function (page, _p1) { return A4( _jackgene$talks$Deck_Slide_Template$standardSlideView, page, @@ -48954,7 +49168,7 @@ _jackgene$talks$Deck_Slide_Common$baseSlideModel, { view: F2( - function (page, _p1) { + function (page, _p2) { return A4( _jackgene$talks$Deck_Slide_Template$standardSlideView, page, @@ -49128,7 +49342,7 @@ _jackgene$talks$Deck_Slide_Common$baseSlideModel, { view: F2( - function (page, _p2) { + function (page, _p3) { return A4( _jackgene$talks$Deck_Slide_Template$standardSlideView, page, @@ -49192,7 +49406,7 @@ _jackgene$talks$Deck_Slide_Common$baseSlideModel, { view: F2( - function (page, _p3) { + function (page, _p4) { return A4( _jackgene$talks$Deck_Slide_Template$standardSlideView, page, @@ -49309,7 +49523,7 @@ _jackgene$talks$Deck_Slide_Common$baseSlideModel, { view: F2( - function (page, _p4) { + function (page, _p5) { return A4( _jackgene$talks$Deck_Slide_Template$standardSlideView, page, @@ -49686,12 +49900,8 @@ _0: _jackgene$talks$Deck_Slide_Introduction$ourDefinition, _1: { ctor: '::', - _0: _jackgene$talks$Deck_Slide_Introduction$outOfScope, - _1: { - ctor: '::', - _0: _jackgene$talks$Deck_Slide_Introduction$inScope, - _1: {ctor: '[]'} - } + _0: _jackgene$talks$Deck_Slide_Introduction$inScope, + _1: {ctor: '[]'} } } } @@ -50224,32 +50434,36 @@ _0: _elm_lang$core$Maybe$Just(_jackgene$talks$Deck_Slide_SectionCover$conclusion), _1: { ctor: '::', - _0: _jackgene$talks$Deck_Slide$errorPreventionReport('Go'), + _0: _elm_lang$core$Maybe$Just(_jackgene$talks$Deck_Slide_Conclusion$outOfScope), _1: { ctor: '::', - _0: _jackgene$talks$Deck_Slide$errorPreventionReport('Python'), + _0: _jackgene$talks$Deck_Slide$errorPreventionReport('Go'), _1: { ctor: '::', - _0: _jackgene$talks$Deck_Slide$errorPreventionReport('Scala'), + _0: _jackgene$talks$Deck_Slide$errorPreventionReport('Python'), _1: { ctor: '::', - _0: _jackgene$talks$Deck_Slide$errorPreventionReport('Elm'), + _0: _jackgene$talks$Deck_Slide$errorPreventionReport('Scala'), _1: { ctor: '::', - _0: _elm_lang$core$Maybe$Just(_jackgene$talks$Deck_Slide_Conclusion$introduction), + _0: _jackgene$talks$Deck_Slide$errorPreventionReport('Elm'), _1: { ctor: '::', - _0: _elm_lang$core$Maybe$Just(_jackgene$talks$Deck_Slide_Conclusion$enableStricterTypeChecking), + _0: _elm_lang$core$Maybe$Just(_jackgene$talks$Deck_Slide_Conclusion$introduction), _1: { ctor: '::', - _0: _elm_lang$core$Maybe$Just(_jackgene$talks$Deck_Slide_Conclusion$codeGeneration), + _0: _elm_lang$core$Maybe$Just(_jackgene$talks$Deck_Slide_Conclusion$enableStricterTypeChecking), _1: { ctor: '::', - _0: _elm_lang$core$Maybe$Just(_jackgene$talks$Deck_Slide_Conclusion$preCompileChecks), + _0: _elm_lang$core$Maybe$Just(_jackgene$talks$Deck_Slide_Conclusion$codeGeneration), _1: { ctor: '::', - _0: _elm_lang$core$Maybe$Just(_jackgene$talks$Deck_Slide_Conclusion$testing), - _1: {ctor: '[]'} + _0: _elm_lang$core$Maybe$Just(_jackgene$talks$Deck_Slide_Conclusion$preCompileChecks), + _1: { + ctor: '::', + _0: _elm_lang$core$Maybe$Just(_jackgene$talks$Deck_Slide_Conclusion$testing), + _1: {ctor: '[]'} + } } } }