- fix(lsp):
lithia lsp tcp
didn't work as expected - fix(cli): correctly handle running script and repl
- feat(stdlib):
os.args
returns the arguments passed to the program - feat(error): impproved error messages for missing members
- feat(stdlib): introduced
apps
- feat(error): improved error messages for dicts
- feat(stdlib): introduced
pot
,pot.cmds
andpot.deps
- stdlib:
docs.docsToMarkup
now sorts extern properties - stdlib: new function
prelude.eager
which recursively evaluates a given value - stdlib: new function
lists.prepend
for prepending lists - fix: improved type switch error message
- fix: improved stdlib not found error message
- fix: source locations were off
- lsp: complete importable modules #35
- lsp: field completions #35
- lsp: type switch completions #35
- lsp: improved statement completions
- lsp: completions for keywords
- lsp: outline symbols for current file
- lsp: workspace symbols for all files
- chore: bump dependencies
- module: new module resolution algorithm
- compiler: alias imports
import alias = module.name
#32 - compiler: dictionary literals
[:]
and["a": "b"]
#9 - stdlib: new type
prelude.Dict
#9 - stdlib: new type
prelude.Pair
- stdlib: moved
results.Result
toprelude.Result
- stdlib: Float-support! #24
- stdlib:
!
operator #22 - stdlib: only the first leading space will be trimmed in docs
- stdlib: new type
rx.Future
andrx.Async
and associated functions
- fix: undeclared enum case error due to file order within a module
- compiler: new concept of packages containing modules, optionally marked by a
Potfile
- compiler: implicit
src
module for package imports if folder exists - compiler:
import root
imports the current package (importssrc
if folder exists) - lsp: improved autocompletion and hover information
- lsp: autocompletion and hover information across module and file boundaries
- lsp: local autocompletion #30
- stdlib: removed
docs.moduleMemberDocsToMarkup
,docs.dataFieldDocsToMarkup
anddocs.enumCaseDocsToMarkup
and marked them as internal - stdlib: renamed
markup.MarkupNode
tomarkup.Markup
- stdlib: renamed
markup.Serializer
tomarkup.Format
- stdlib: renamed
markup.SerializerWitness
tomarkup.FormatWitness
- stdlib: renamed
markup.serialize
tomarkup.convert
- stdlib: renamed
markdown.serializer
tomarkup.format
- stdlib: renamed
markdown.serialize
tomarkup.convert
- stdlib: removed
markdown.asMarkdown
- stdlib: removed
optionals.Optional
. Useprelude.Optional
instead - stdlib: added
prelude.Maybe
asprelude.Some
,prelude.None
orprelude.Any
- stdlib: improved
optionals
functions to also supportprelude.Maybe
- stdlib: removed
tests.testCases
andtests.runTestCase
and marked them as internal - fix:
docs
ofdocs.ExternFunctionDocs
has always been empty - docs: improved for all modules
- lsp: fix jump to definition
- lsp: fix multiline block comments
- lsp: fix logging too many errors
- lsp: deleting files, deletes its diagnostics
- fix: extern docs generation
- stdlib: new
markup
andmarkdown
library - stdlib: better docs generation
- lsp: semantic syntax highlighting #28
- lsp: diagnostics #29
- cli: new CLI interface, including, help and version
- fix: imports and declarations in repl were broken
- lsp: basic, proof of concept language server #19
- compiler: binaries for macOS, linux, windows
- stdlib: added
arity
toprelude.Function
- compiler: massive performance improvements
- compiler: large refactoring
- fix: rare equality bugs
- fix:
==
didn't work for independent values - fix:
||
sometimes lead to wrong results - stdlib: tests will now print all error messages
- stdlib: adds new functions to
lists
:dropFirst
,dropN
,dropWhile
,filter
,first
,isEmpty
andzipWith
- stdlib: adds new functions to
prelude
:identity
andconst
- fix: type expressions with
Any
were not deterministic - fix: type expressions didn't allow comments
- fix: type expressions didn't always recognize
Module
andFunction
- stdlib: renamed
booleans.negated
tobooleans.not
- stdlib: fix
comparables.pullback
returned wrong type - stdlib: added
comparables.numeric
- stdlib: renamed
comparables
tocmp
- stdlib: renamed
equatables
toeq
- stdlib: moved
prelude.Equatable
toeq.Equatable
- stdlib: renamed
prelude.sameEquatable
toeq.strict
- stdlib: added
prelude.Never
- docs: overall improvements
- stdlib:
strings.join
returns strings when just one element given - stdlib: removed
prelude.reduceList
, uselists.reduce
instead - stdlib: moved
prelude.Result
toresults.Result
- stdlib: moved
prelude.Functor
andprelude.Monad
tocontrols.Functor
andcontrols.Monad
- stdlib: moved
comparables.negated
andcomparables.pullback
toequatables
- stdlib: added
controls.Functor
,controls.Monad
witnesses and implementations forresults.Result
andlists.List
- stdlib: added
comparables.Comparable
,Order
,Ascending
,Equal
,Descending
,equatableFrom
- stdlib: added
controls.Contravariant
and witnessescontravariant
andpullback
inequatables
,comparables
- stdlib: added
lists.prependList
,lists.concat
,lists.replicate
- stdlib:
controls
types now define*From
functions and*Witness
types declaring compatability regardingFunction
andModule
- stdlib:
controls.map
,controls.flatMap
,controls.pure
andcontrols.pullback
convert their witness types before accessing the implementation
- stdlib: added
comparables.pullback
- stdlib: removed
comparables.map
- docs: improved docs for prelude
- docker: introduced vknabel/lithia
- docs: improved docs
- runtime: better print of functions
- runtime: improved runtime error messages
- compiler: type-expressions with
Any
to match multiple cases - compiler: memberwise imports
- docs: generated docs for stdlib
- stdlib: added new modules
- stdlib: renamed
Rune
toChar
- improved printing of values
- stdlib:
Variable
now moved torx.Variable
- stdlib:
osEnv
andosExit
now moved toos.env
andos.exit
- compiler:
extern
fails when they can't be resolved
module
instead ofpackage
to avoid confusion
- Absolute modules and multiple roots #7
- Proof of concept
- Most basic stdlib