firefly-compiler 0.5.35 → 0.5.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.hintrc +4 -4
- package/.vscode/settings.json +4 -4
- package/bin/Release.ff +157 -154
- package/bin/firefly.mjs +1 -1
- package/compiler/Builder.ff +275 -277
- package/compiler/Compiler.ff +234 -233
- package/compiler/Dependencies.ff +186 -187
- package/compiler/DependencyLock.ff +17 -17
- package/compiler/Deriver.ff +23 -31
- package/compiler/Dictionaries.ff +1 -1
- package/compiler/Inference.ff +43 -20
- package/compiler/JsEmitter.ff +1437 -1282
- package/compiler/LspHook.ff +202 -202
- package/compiler/Main.ff +25 -24
- package/compiler/ModuleCache.ff +178 -178
- package/compiler/Parser.ff +36 -109
- package/compiler/Resolver.ff +5 -8
- package/compiler/Substitution.ff +1 -1
- package/compiler/Syntax.ff +1 -16
- package/compiler/Token.ff +9 -0
- package/compiler/Tokenizer.ff +4 -0
- package/compiler/Workspace.ff +88 -88
- package/core/.firefly/include/package.json +5 -5
- package/core/.firefly/package.ff +2 -2
- package/core/Any.ff +26 -30
- package/core/Array.ff +298 -265
- package/core/Atomic.ff +63 -64
- package/core/Box.ff +7 -7
- package/core/BrowserSystem.ff +40 -40
- package/core/Buffer.ff +185 -152
- package/core/BuildSystem.ff +156 -148
- package/core/Channel.ff +95 -92
- package/core/Char.ff +3 -2
- package/core/Core.ff +16 -23
- package/core/Crypto.ff +94 -96
- package/core/Equal.ff +41 -36
- package/core/Error.ff +15 -10
- package/core/FileHandle.ff +45 -37
- package/core/Float.ff +176 -200
- package/core/HttpClient.ff +142 -148
- package/core/Instant.ff +6 -8
- package/core/Int.ff +40 -24
- package/core/IntMap.ff +61 -39
- package/core/Js.ff +305 -0
- package/core/JsSystem.ff +135 -114
- package/core/JsValue.ff +303 -159
- package/core/Json.ff +423 -443
- package/core/List.ff +482 -486
- package/core/Lock.ff +108 -144
- package/core/Log.ff +25 -14
- package/core/NodeSystem.ff +198 -191
- package/core/Ordering.ff +160 -161
- package/core/Path.ff +377 -409
- package/core/Queue.ff +90 -0
- package/core/Random.ff +140 -134
- package/core/RbMap.ff +216 -216
- package/core/Serializable.ff +16 -13
- package/core/Show.ff +44 -43
- package/core/SourceLocation.ff +68 -68
- package/core/Stream.ff +1 -1
- package/core/String.ff +224 -202
- package/core/StringMap.ff +58 -36
- package/core/Task.ff +165 -149
- package/experimental/benchmarks/ListGrab.ff +23 -23
- package/experimental/benchmarks/ListGrab.java +55 -55
- package/experimental/benchmarks/Pyrotek45.ff +30 -30
- package/experimental/benchmarks/Pyrotek45.java +64 -64
- package/experimental/bidirectional/Bidi.ff +88 -88
- package/experimental/lines/Main.ff +40 -0
- package/experimental/random/Index.ff +53 -53
- package/experimental/random/Process.ff +120 -120
- package/experimental/random/RunLength.ff +65 -65
- package/experimental/random/Scrape.ff +51 -51
- package/experimental/random/Symbols.ff +73 -73
- package/experimental/random/Tensor.ff +52 -52
- package/experimental/random/Units.ff +36 -36
- package/experimental/s3/S3TestAuthorizationHeader.ff +39 -39
- package/experimental/s3/S3TestPut.ff +16 -16
- package/experimental/tests/TestJson.ff +26 -26
- package/firefly.sh +0 -0
- package/fireflysite/.firefly/package.ff +4 -4
- package/fireflysite/CommunityOverview.ff +20 -20
- package/fireflysite/CountingButtonDemo.ff +58 -58
- package/fireflysite/DocumentParser.ff +325 -331
- package/fireflysite/ExamplesOverview.ff +40 -40
- package/fireflysite/FrontPage.ff +344 -344
- package/fireflysite/GettingStarted.ff +45 -45
- package/fireflysite/Guide.ff +456 -456
- package/fireflysite/Main.ff +163 -152
- package/fireflysite/MatchingPasswordsDemo.ff +82 -82
- package/fireflysite/PackagesOverview.ff +49 -49
- package/fireflysite/PostgresqlDemo.ff +34 -34
- package/fireflysite/ReferenceAll.ff +18 -18
- package/fireflysite/ReferenceIntroduction.ff +11 -11
- package/fireflysite/Styles.ff +567 -567
- package/fireflysite/Test.ff +121 -62
- package/fireflysite/assets/markdown/reference/BaseTypes.md +209 -209
- package/fireflysite/assets/markdown/reference/EmittedJavascript.md +65 -65
- package/fireflysite/assets/markdown/reference/Exceptions.md +101 -101
- package/fireflysite/assets/markdown/reference/FunctionsAndMethods.md +364 -364
- package/fireflysite/assets/markdown/reference/JavascriptInterop.md +235 -172
- package/fireflysite/assets/markdown/reference/ModulesAndPackages.md +162 -162
- package/fireflysite/assets/markdown/reference/OldStructuredConcurrency.md +48 -48
- package/fireflysite/assets/markdown/reference/PatternMatching.md +224 -224
- package/fireflysite/assets/markdown/reference/StatementsAndExpressions.md +86 -86
- package/fireflysite/assets/markdown/reference/StructuredConcurrency.md +99 -99
- package/fireflysite/assets/markdown/reference/TraitsAndInstances.md +100 -100
- package/fireflysite/assets/markdown/reference/UserDefinedTypes.md +184 -184
- package/fireflysite/assets/markdown/scratch/ControlFlow.md +136 -136
- package/fireflysite/assets/markdown/scratch/Toc.md +40 -40
- package/lsp/.firefly/package.ff +1 -1
- package/lsp/CompletionHandler.ff +827 -827
- package/lsp/Handler.ff +714 -714
- package/lsp/HoverHandler.ff +79 -79
- package/lsp/LanguageServer.ff +272 -272
- package/lsp/SignatureHelpHandler.ff +55 -55
- package/lsp/SymbolHandler.ff +181 -181
- package/lsp/TestReferences.ff +17 -17
- package/lsp/TestReferencesCase.ff +7 -7
- package/lsp/stderr.txt +1 -1
- package/lsp/stdout.txt +34 -34
- package/lux/.firefly/package.ff +1 -1
- package/lux/Css.ff +648 -648
- package/lux/CssTest.ff +48 -48
- package/lux/Lux.ff +608 -617
- package/lux/LuxEvent.ff +79 -116
- package/lux/Main.ff +123 -123
- package/lux/Main2.ff +143 -143
- package/lux/TestDry.ff +28 -28
- package/output/js/ff/compiler/Builder.mjs +72 -71
- package/output/js/ff/compiler/Compiler.mjs +19 -13
- package/output/js/ff/compiler/Dependencies.mjs +8 -7
- package/output/js/ff/compiler/DependencyLock.mjs +6 -4
- package/output/js/ff/compiler/Deriver.mjs +26 -24
- package/output/js/ff/compiler/Dictionaries.mjs +14 -18
- package/output/js/ff/compiler/Environment.mjs +6 -4
- package/output/js/ff/compiler/Inference.mjs +238 -164
- package/output/js/ff/compiler/JsEmitter.mjs +1160 -350
- package/output/js/ff/compiler/JsImporter.mjs +20 -18
- package/output/js/ff/compiler/LspHook.mjs +12 -10
- package/output/js/ff/compiler/Main.mjs +61 -41
- package/output/js/ff/compiler/ModuleCache.mjs +10 -8
- package/output/js/ff/compiler/Parser.mjs +153 -669
- package/output/js/ff/compiler/Patterns.mjs +12 -10
- package/output/js/ff/compiler/Resolver.mjs +52 -78
- package/output/js/ff/compiler/Substitution.mjs +12 -16
- package/output/js/ff/compiler/Syntax.mjs +50 -341
- package/output/js/ff/compiler/Token.mjs +126 -4
- package/output/js/ff/compiler/Tokenizer.mjs +62 -52
- package/output/js/ff/compiler/Unification.mjs +74 -90
- package/output/js/ff/compiler/Wildcards.mjs +4 -2
- package/output/js/ff/compiler/Workspace.mjs +26 -20
- package/output/js/ff/core/Any.mjs +20 -20
- package/output/js/ff/core/Array.mjs +268 -175
- package/output/js/ff/core/AssetSystem.mjs +8 -6
- package/output/js/ff/core/Atomic.mjs +84 -52
- package/output/js/ff/core/Bool.mjs +6 -4
- package/output/js/ff/core/BrowserSystem.mjs +38 -29
- package/output/js/ff/core/Buffer.mjs +285 -133
- package/output/js/ff/core/BuildSystem.mjs +36 -56
- package/output/js/ff/core/Channel.mjs +250 -97
- package/output/js/ff/core/Char.mjs +5 -3
- package/output/js/ff/core/Core.mjs +28 -34
- package/output/js/ff/core/Crypto.mjs +30 -52
- package/output/js/ff/core/Duration.mjs +4 -2
- package/output/js/ff/core/Equal.mjs +14 -12
- package/output/js/ff/core/Error.mjs +17 -11
- package/output/js/ff/core/FileHandle.mjs +76 -38
- package/output/js/ff/core/Float.mjs +92 -160
- package/output/js/ff/core/HttpClient.mjs +208 -76
- package/output/js/ff/core/Instant.mjs +8 -10
- package/output/js/ff/core/Int.mjs +36 -26
- package/output/js/ff/core/IntMap.mjs +79 -33
- package/output/js/ff/core/Js.mjs +751 -0
- package/output/js/ff/core/JsSystem.mjs +54 -60
- package/output/js/ff/core/JsValue.mjs +294 -143
- package/output/js/ff/core/Json.mjs +443 -253
- package/output/js/ff/core/List.mjs +262 -214
- package/output/js/ff/core/Lock.mjs +156 -125
- package/output/js/ff/core/Log.mjs +20 -10
- package/output/js/ff/core/Map.mjs +10 -8
- package/output/js/ff/core/NodeSystem.mjs +189 -123
- package/output/js/ff/core/Nothing.mjs +4 -2
- package/output/js/ff/core/Option.mjs +40 -38
- package/output/js/ff/core/Ordering.mjs +26 -20
- package/output/js/ff/core/Pair.mjs +4 -2
- package/output/js/ff/core/Path.mjs +517 -315
- package/output/js/ff/core/Queue.mjs +306 -0
- package/output/js/ff/core/Random.mjs +141 -77
- package/output/js/ff/core/RbMap.mjs +36 -34
- package/output/js/ff/core/Serializable.mjs +44 -28
- package/output/js/ff/core/Set.mjs +6 -4
- package/output/js/ff/core/Show.mjs +8 -6
- package/output/js/ff/core/SourceLocation.mjs +4 -2
- package/output/js/ff/core/Stream.mjs +30 -50
- package/output/js/ff/core/String.mjs +263 -172
- package/output/js/ff/core/StringMap.mjs +77 -31
- package/output/js/ff/core/Task.mjs +91 -76
- package/output/js/ff/core/Try.mjs +20 -18
- package/output/js/ff/core/Unit.mjs +4 -2
- package/package.json +1 -1
- package/postgresql/Pg.ff +53 -59
- package/rpc/.firefly/package.ff +1 -1
- package/rpc/Rpc.ff +70 -70
- package/s3/.firefly/package.ff +1 -1
- package/s3/S3.ff +92 -94
- package/vscode/LICENSE.txt +21 -21
- package/vscode/Prepublish.ff +15 -15
- package/vscode/README.md +16 -16
- package/vscode/client/package-lock.json +544 -544
- package/vscode/client/package.json +22 -22
- package/vscode/client/src/extension.ts +104 -104
- package/vscode/icons/firefly-icon.svg +10 -10
- package/vscode/language-configuration.json +61 -61
- package/vscode/package-lock.json +3623 -3623
- package/vscode/package.json +1 -1
- package/vscode/snippets.json +241 -241
- package/vscode/syntaxes/firefly-markdown-injection.json +45 -45
- package/webserver/.firefly/include/package.json +5 -5
- package/webserver/.firefly/package.ff +2 -2
- package/webserver/WebServer.ff +647 -685
- package/websocket/.firefly/package.ff +1 -1
- package/websocket/WebSocket.ff +100 -131
- package/core/UnsafeJs.ff +0 -42
- package/output/js/ff/core/UnsafeJs.mjs +0 -191
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import Guide
|
|
2
|
-
import Lux from ff:lux
|
|
3
|
-
import LuxEvent from ff:lux
|
|
4
|
-
|
|
5
|
-
name = "Connecting to PostgreSQL"
|
|
6
|
-
|
|
7
|
-
newDocument(): Document {
|
|
8
|
-
ReadyDocument([
|
|
9
|
-
Section(name, [
|
|
10
|
-
Paragraph([Text("Connect to a PostgreSQL database and run a query.")])
|
|
11
|
-
Paragraph([Text("Add a dependency on "), Code("ff:postgresql"), Text(":")])
|
|
12
|
-
CodeBlock("""
|
|
13
|
-
dependency ff:postgresql:0.0.0
|
|
14
|
-
""", firefly = True)
|
|
15
|
-
Paragraph([Text("Import the"), Code("Pg"), Text("module from it:")])
|
|
16
|
-
CodeBlock("""
|
|
17
|
-
import Pg from ff:postgresql
|
|
18
|
-
""", firefly = True)
|
|
19
|
-
Paragraph([Text("Create a connection pool with the appropriate connection parameters:")])
|
|
20
|
-
CodeBlock("""
|
|
21
|
-
let pool = Pg.newPool(...)
|
|
22
|
-
""", firefly = True)
|
|
23
|
-
Paragraph([Text("And run your first transaction, e.g.:")])
|
|
24
|
-
CodeBlock("""
|
|
25
|
-
pool.transaction {connection =>
|
|
26
|
-
let emails = connection.statement("select email from users")
|
|
27
|
-
.map {row => row.getString("email").grab()}
|
|
28
|
-
Log.debug(emails)
|
|
29
|
-
}
|
|
30
|
-
""", firefly = True)
|
|
31
|
-
Paragraph([Text("Note that"), Code(".map", firefly = True), Text("here runs for each row of the result.")])
|
|
32
|
-
])
|
|
33
|
-
])
|
|
34
|
-
}
|
|
1
|
+
import Guide
|
|
2
|
+
import Lux from ff:lux
|
|
3
|
+
import LuxEvent from ff:lux
|
|
4
|
+
|
|
5
|
+
name = "Connecting to PostgreSQL"
|
|
6
|
+
|
|
7
|
+
newDocument(): Document {
|
|
8
|
+
ReadyDocument([
|
|
9
|
+
Section(name, [
|
|
10
|
+
Paragraph([Text("Connect to a PostgreSQL database and run a query.")])
|
|
11
|
+
Paragraph([Text("Add a dependency on "), Code("ff:postgresql"), Text(":")])
|
|
12
|
+
CodeBlock("""
|
|
13
|
+
dependency ff:postgresql:0.0.0
|
|
14
|
+
""", firefly = True)
|
|
15
|
+
Paragraph([Text("Import the"), Code("Pg"), Text("module from it:")])
|
|
16
|
+
CodeBlock("""
|
|
17
|
+
import Pg from ff:postgresql
|
|
18
|
+
""", firefly = True)
|
|
19
|
+
Paragraph([Text("Create a connection pool with the appropriate connection parameters:")])
|
|
20
|
+
CodeBlock("""
|
|
21
|
+
let pool = Pg.newPool(...)
|
|
22
|
+
""", firefly = True)
|
|
23
|
+
Paragraph([Text("And run your first transaction, e.g.:")])
|
|
24
|
+
CodeBlock("""
|
|
25
|
+
pool.transaction {connection =>
|
|
26
|
+
let emails = connection.statement("select email from users")
|
|
27
|
+
.map {row => row.getString("email").grab()}
|
|
28
|
+
Log.debug(emails)
|
|
29
|
+
}
|
|
30
|
+
""", firefly = True)
|
|
31
|
+
Paragraph([Text("Note that"), Code(".map", firefly = True), Text("here runs for each row of the result.")])
|
|
32
|
+
])
|
|
33
|
+
])
|
|
34
|
+
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import Guide
|
|
2
|
-
import ReferenceIntroduction
|
|
3
|
-
|
|
4
|
-
mock(): List[Document] {
|
|
5
|
-
[
|
|
6
|
-
ReferenceIntroduction.new()
|
|
7
|
-
UnfetchedDocument("Modules and packages")
|
|
8
|
-
UnfetchedDocument("Base types")
|
|
9
|
-
UnfetchedDocument("User defined types")
|
|
10
|
-
UnfetchedDocument("Statements and expressions")
|
|
11
|
-
UnfetchedDocument("Functions and methods")
|
|
12
|
-
UnfetchedDocument("Pattern matching")
|
|
13
|
-
UnfetchedDocument("Traits and instances")
|
|
14
|
-
UnfetchedDocument("Exceptions")
|
|
15
|
-
UnfetchedDocument("Structured concurrency")
|
|
16
|
-
UnfetchedDocument("JavaScript interop")
|
|
17
|
-
]
|
|
18
|
-
}
|
|
1
|
+
import Guide
|
|
2
|
+
import ReferenceIntroduction
|
|
3
|
+
|
|
4
|
+
mock(): List[Document] {
|
|
5
|
+
[
|
|
6
|
+
ReferenceIntroduction.new()
|
|
7
|
+
UnfetchedDocument("Modules and packages")
|
|
8
|
+
UnfetchedDocument("Base types")
|
|
9
|
+
UnfetchedDocument("User defined types")
|
|
10
|
+
UnfetchedDocument("Statements and expressions")
|
|
11
|
+
UnfetchedDocument("Functions and methods")
|
|
12
|
+
UnfetchedDocument("Pattern matching")
|
|
13
|
+
UnfetchedDocument("Traits and instances")
|
|
14
|
+
UnfetchedDocument("Exceptions")
|
|
15
|
+
UnfetchedDocument("Structured concurrency")
|
|
16
|
+
UnfetchedDocument("JavaScript interop")
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import Guide
|
|
2
|
-
|
|
3
|
-
new(): Document {
|
|
4
|
-
ReadyDocument([
|
|
5
|
-
Section("Reference", [
|
|
6
|
-
Paragraph([
|
|
7
|
-
Text("This is a reference for the Firefly programming language.")
|
|
8
|
-
])
|
|
9
|
-
])
|
|
10
|
-
])
|
|
11
|
-
}
|
|
1
|
+
import Guide
|
|
2
|
+
|
|
3
|
+
new(): Document {
|
|
4
|
+
ReadyDocument([
|
|
5
|
+
Section("Reference", [
|
|
6
|
+
Paragraph([
|
|
7
|
+
Text("This is a reference for the Firefly programming language.")
|
|
8
|
+
])
|
|
9
|
+
])
|
|
10
|
+
])
|
|
11
|
+
}
|