Recent Releases of @effekt-lang/effekt

@effekt-lang/effekt - Release v0.45.0

What's Changed

  • Add tparams to constructors by @mattisboeckle in https://github.com/effekt-lang/effekt/pull/1104
  • Improve LLVM runner by @marvinborner in https://github.com/effekt-lang/effekt/pull/1105
  • Avoid identity transformation on types by @phischu in https://github.com/effekt-lang/effekt/pull/1115
  • Try to fix performance regression introduced by a0033bf by @b-studios in https://github.com/effekt-lang/effekt/pull/1111
  • Renormalize directly again by @b-studios in https://github.com/effekt-lang/effekt/pull/1119

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.44.0...v0.45.0

- Scala
Published by effekt-updater[bot] 6 months ago

@effekt-lang/effekt - Release v0.44.0

What's Changed

  • Attach signature to BindingInfo by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1102
  • Spanned holes: threading positions through holes by @jiribenes in https://github.com/effekt-lang/effekt/pull/1085

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.43.0...v0.44.0

- Scala
Published by effekt-updater[bot] 6 months ago

@effekt-lang/effekt - Release v0.43.0

What's Changed

  • Do not flatten namespaces by @marvinborner in https://github.com/effekt-lang/effekt/pull/1074
  • Rip out kiama positions by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1097
  • Send syntax-highlighted HTML for bindings by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1096
  • Remove use of kiama.Compiler by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1099
  • Hide document symbols without spans by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1101
  • Fix polymorphism boxing for the case of a scrutinee of type Nothing by @b-studios in https://github.com/effekt-lang/effekt/pull/1108

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.42.0...v0.43.0

- Scala
Published by effekt-updater[bot] 6 months ago

@effekt-lang/effekt - Release v0.42.0

What's Changed

  • Use new capture syntax in inlay hints for definitions by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1098
  • Diagnostics for main function by @dvdvgt in https://github.com/effekt-lang/effekt/pull/1100

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.41.0...v0.42.0

- Scala
Published by effekt-updater[bot] 7 months ago

@effekt-lang/effekt - Release v0.41.0

What's Changed

  • Add back hack for DeclPrinter by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1086
  • Fix char default by @mattisboeckle in https://github.com/effekt-lang/effekt/pull/1095
  • Stdlib: Add OneOrBoth and zipLongest on lists and streams by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/1003
  • Visibility Modifiers by @b-studios in https://github.com/effekt-lang/effekt/pull/1094

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.40.0...v0.41.0

- Scala
Published by effekt-updater[bot] 7 months ago

@effekt-lang/effekt - Release v0.40.0

What's Changed

  • Subtract block parameter captures in extern defs by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/1023
  • Continuation statements to omit braces by @b-studios in https://github.com/effekt-lang/effekt/pull/1089

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.39.0...v0.40.0

- Scala
Published by effekt-updater[bot] 7 months ago

@effekt-lang/effekt - Release v0.39.0

What's Changed

  • Avoid adding a default clause when match is exhaustive by @b-studios in https://github.com/effekt-lang/effekt/pull/1082

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.38.0...v0.39.0

- Scala
Published by effekt-updater[bot] 7 months ago

@effekt-lang/effekt - Release v0.38.0

What's Changed

  • Perform polymorphism boxing after optimization by @b-studios, @phischu, and @mattisboeckle in https://github.com/effekt-lang/effekt/pull/800
  • Add namespace name to paths by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1069
  • Do not hide type annotation errors in 'val' statements by @jiribenes in https://github.com/effekt-lang/effekt/pull/1073

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.37.0...v0.38.0

- Scala
Published by effekt-updater[bot] 8 months ago

@effekt-lang/effekt - Release v0.37.0

What's Changed

  • Add shebang support by @marvinborner in https://github.com/effekt-lang/effekt/pull/1060
  • Make language server send hole bodies by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1062
  • Fix cake pattern bug with more cake pattern by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1068
  • Preserve orders of symbols in scope by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1038
  • Change Namespace to be immutable by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1067
  • Fully resilient lexer by @jiribenes in https://github.com/effekt-lang/effekt/pull/1066
  • Parser: Fix error positions, recover from common situations by @jiribenes in https://github.com/effekt-lang/effekt/pull/1071
  • Named positional arguments by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/1070

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.36.0...v0.37.0

- Scala
Published by effekt-updater[bot] 8 months ago

@effekt-lang/effekt - Release v0.36.0

What's Changed

  • Improve the context info sent for holes by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1029
  • Natural language holes by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1055
  • Use different names for noopt tests by @marvinborner in https://github.com/effekt-lang/effekt/pull/1061

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.35.0...v0.36.0

- Scala
Published by effekt-updater[bot] 8 months ago

@effekt-lang/effekt - Release v0.35.0

What's Changed

  • Change error message for missing closing } in interface declaration by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/1054
  • Don't crash when receiving null initializationOptions by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1043
  • Deliver holes for literate Effekt files by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1035
  • Show documentation on hover by @marvinborner in https://github.com/effekt-lang/effekt/pull/1025
  • Add spans to every source tree node by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1039
  • Only accept config under "effekt" key by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1050

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.34.0...v0.35.0

- Scala
Published by effekt-updater[bot] 8 months ago

@effekt-lang/effekt - Release v0.34.0

What's Changed

  • Update scala version to 3.3.6 by @dvdvgt in https://github.com/effekt-lang/effekt/pull/1045
  • Forward reference computation section by @dvdvgt in https://github.com/effekt-lang/effekt/pull/1044
  • Fix core type in try ... with ... body by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/1042
  • Expand stream module by @phischu in https://github.com/effekt-lang/effekt/pull/1028
  • Add flag to show prelude by @marvinborner in https://github.com/effekt-lang/effekt/pull/1032

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.33.1...v0.34.0

- Scala
Published by effekt-updater[bot] 9 months ago

@effekt-lang/effekt - Release v0.33.1

What's Changed

  • Generate documentation by @marvinborner in https://github.com/effekt-lang/effekt/pull/930
  • Move broken casestudy by @marvinborner in https://github.com/effekt-lang/effekt/pull/1034
  • fix: insert empty lines for ignored code by @dvdvgt in https://github.com/effekt-lang/effekt/pull/1033

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.33.0...v0.33.1

- Scala
Published by effekt-updater[bot] 9 months ago

@effekt-lang/effekt - Release v0.33.0

What's Changed

  • Change explicit box capture syntax by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1017
  • Fix off-by-one-token bugs by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1015
  • Speed-up and cache conversion from offset to Kiama's position by @jiribenes in https://github.com/effekt-lang/effekt/pull/1021
  • Add trailing unit to stmts on unexpected end by @jiribenes in https://github.com/effekt-lang/effekt/pull/1019
  • Fix: adapt case studies to also work on the website by @dvdvgt in https://github.com/effekt-lang/effekt/pull/1022
  • Fix empty list of holes not being published by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1027
  • Labels in parser by @marzipankaiser and @jiribenes in https://github.com/effekt-lang/effekt/pull/1008

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.32.0...v0.33.0

- Scala
Published by effekt-updater[bot] 9 months ago

@effekt-lang/effekt - Release v0.32.0

What's Changed

  • Fix serialization of hole info by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1002
  • Show type of region-allocated variables on hover by @jiribenes in https://github.com/effekt-lang/effekt/pull/1000
  • Add DIY Binder example by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/999
  • Implement hole hover for website playground by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1010
  • Add inlay hints for showing omitted function return types by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/1011
  • Fix backtracking in nested overloads by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/1007
  • Fix: Make case studies runnable on the website by @dvdvgt in https://github.com/effekt-lang/effekt/pull/1009
  • Set locale when handrolling JSON by @jiribenes in https://github.com/effekt-lang/effekt/pull/1018

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.31.0...v0.32.0

- Scala
Published by effekt-updater[bot] 9 months ago

@effekt-lang/effekt - Release v0.31.0

What's Changed

  • Add a simple readln function to the standard library by @phischu in https://github.com/effekt-lang/effekt/pull/981
  • Hotfix output forwarding when not capturing output by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/982
  • Cache phases Parser until Typer by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/920
  • LLVM: Add LTO by @jiribenes and @mattisboeckle in https://github.com/effekt-lang/effekt/pull/964
  • Fix code action to close holes for statements by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/980
  • Fix code action to infer type and effects by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/979
  • Output package.json when generating JavaScript for Node by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/989
  • Publish holes info via custom LSP notification by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/983
  • Improve compiler debugging by adding show method to most core trees/types by @b-studios in https://github.com/effekt-lang/effekt/pull/991
  • Fix position information for effect sets by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/990
  • Refactor namer to mutually recursive resolve functions by @b-studios in https://github.com/effekt-lang/effekt/pull/994
  • Add padLeft/padRight on Strings by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/986
  • Prefer versioned executables over generic ones on LLVM by @jiribenes in https://github.com/effekt-lang/effekt/pull/993
  • Better error message for missing types on block literals params by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/997
  • Add 'char' into prelude by @jiribenes in https://github.com/effekt-lang/effekt/pull/988

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.30.0...v0.31.0

- Scala
Published by effekt-updater[bot] 9 months ago

@effekt-lang/effekt - Release v0.30.0

What's Changed

  • Taylor series using streams by @jiribenes in https://github.com/effekt-lang/effekt/pull/974
  • Stdlib: tee for emit-streams by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/922
  • Fix #971 by updating usages when inlining by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/973
  • Add a CITATION.cff file by @jiribenes in https://github.com/effekt-lang/effekt/pull/936
  • Kindless on the Surface, but kind(ed) in the Core, symbolically: Better, recoverable error messages for wrong kinds by @jiribenes in https://github.com/effekt-lang/effekt/pull/947
  • Example: Fast exponentiation, streamingly 🌊 by @jiribenes in https://github.com/effekt-lang/effekt/pull/925
  • Add initial spans to source tree by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/957
  • Make the language server accept config nested under the "effekt" key by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/975
  • Workaround to fix flaky LSP test by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/977
  • Fix normalizing IR strings in LSP tests by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/978
  • Recursive check: Compare modules by path by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/963

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.29.0...v0.30.0

- Scala
Published by effekt-updater[bot] 10 months ago

@effekt-lang/effekt - Release v0.29.0

What's Changed

  • Add wellformedness check for type of var ... in ... by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/961
  • LLVM: Emit most declared definitions as private by @mattisboeckle in https://github.com/effekt-lang/effekt/pull/946
  • Add bytestream-based 'random' module with PRNG and /dev/urandom handlers & fix float ops on Chez by @jiribenes in https://github.com/effekt-lang/effekt/pull/966
  • Bump actions/create-github-app-token from 1 to 2 by @dependabot in https://github.com/effekt-lang/effekt/pull/969
  • Fix generic equals on Chez (#429) by @jiribenes in https://github.com/effekt-lang/effekt/pull/970
  • Cleanup for #531 by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/535

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.28.0...v0.29.0

- Scala
Published by effekt-updater[bot] 10 months ago

@effekt-lang/effekt - Release v0.28.0

What's Changed

  • Cache substitutions by @b-studios in https://github.com/effekt-lang/effekt/pull/954
  • Specific info message for equally named effect operations by @JakubSchwenkbeck in https://github.com/effekt-lang/effekt/pull/956

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.27.0...v0.28.0

- Scala
Published by effekt-updater[bot] 10 months ago

@effekt-lang/effekt - Release v0.27.0

What's Changed

  • Remove debug print in Normalizer by @jiribenes in https://github.com/effekt-lang/effekt/pull/937
  • Simplify core.Renamer to produce smaller symbols by @jiribenes in https://github.com/effekt-lang/effekt/pull/938
  • Don't reallocate StringBuffer when flushing by @jiribenes in https://github.com/effekt-lang/effekt/pull/939
  • Renamer: Add infrastructure for Checking Uniqueness of Generated Names by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/941
  • Make 'core.Renamer' quicker by simplifying scope handling by @jiribenes in https://github.com/effekt-lang/effekt/pull/940
  • Add tailrec annotations wherever possible by @jiribenes in https://github.com/effekt-lang/effekt/pull/945

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.26.0...v0.27.0

- Scala
Published by effekt-updater[bot] 10 months ago

@effekt-lang/effekt - Release v0.26.0

What's Changed

  • Fix invalid links by @dvdvgt in https://github.com/effekt-lang/effekt/pull/927
  • Reimplement C utilities in llvm by @mattisboeckle in https://github.com/effekt-lang/effekt/pull/910
  • JSWeb: report all collected errors upon aborting by @dvdvgt in https://github.com/effekt-lang/effekt/pull/931

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.25.0...v0.26.0

- Scala
Published by effekt-updater[bot] 11 months ago

@effekt-lang/effekt - Release v0.25.0

What's Changed

  • Add a clear Main entrypoint for the JVM binary by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/883
  • CI: Extract reusable 'test' and 'build' actions by @jiribenes in https://github.com/effekt-lang/effekt/pull/888
  • Fix: Splices with non-String type break if there is no splice by @dvdvgt in https://github.com/effekt-lang/effekt/pull/901
  • Add lambda calculus NbE example/benchmark by @marvinborner in https://github.com/effekt-lang/effekt/pull/898
  • Run tests without optimization by @marvinborner in https://github.com/effekt-lang/effekt/pull/851
  • Fix inferring effectful while header by @PhictionalOne in https://github.com/effekt-lang/effekt/pull/902
  • Allow trailing comma in list literals by @mattisboeckle in https://github.com/effekt-lang/effekt/pull/900
  • Standalone language server by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/885
  • Fix: make type pretty printer less confusing for boxed types by @dvdvgt in https://github.com/effekt-lang/effekt/pull/906
  • Add test for cyclic imports by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/903
  • Bump to llvm version 18 in CI by @mattisboeckle in https://github.com/effekt-lang/effekt/pull/887
  • Improve performance of state by @b-studios in https://github.com/effekt-lang/effekt/pull/907
  • Fix lsp caching issues by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/894
  • Fix: ufcs integer lexing by @dvdvgt in https://github.com/effekt-lang/effekt/pull/912
  • Add binary search benchmark by @jiribenes in https://github.com/effekt-lang/effekt/pull/904
  • Properly represent existentials in core by @phischu in https://github.com/effekt-lang/effekt/pull/880
  • Allow lambda case patterns for multiple parameters by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/914
  • Fix failing tests without optimization by @marvinborner in https://github.com/effekt-lang/effekt/pull/890
  • Go via trampoline in machine transformer by @phischu in https://github.com/effekt-lang/effekt/pull/917
  • Fix: dot notation using block params by @dvdvgt in https://github.com/effekt-lang/effekt/pull/918

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.24.0...v0.25.0

- Scala
Published by effekt-updater[bot] 11 months ago

@effekt-lang/effekt - Release v0.24.0

What's Changed

  • Do not contify under reset by @b-studios in https://github.com/effekt-lang/effekt/pull/872
  • More alias information for llvm by @serkm in https://github.com/effekt-lang/effekt/pull/864
  • Refactor machine by @phischu in https://github.com/effekt-lang/effekt/pull/854
  • Add 'stream::fix' fixpoint operator by @jiribenes in https://github.com/effekt-lang/effekt/pull/867
  • Prevent jump out of boxed function in JS by @marvinborner in https://github.com/effekt-lang/effekt/pull/882
  • Make generated shebang in jar file platform-dependent by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/857

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.23.0...v0.24.0

- Scala
Published by effekt-updater[bot] 12 months ago

@effekt-lang/effekt - Release v0.23.0

What's Changed

  • Prevent stack overflows by using larger stacks by @marvinborner in https://github.com/effekt-lang/effekt/pull/853
  • Use given pattern names when compiling patterns by @jiribenes in https://github.com/effekt-lang/effekt/pull/841
  • Fix default arguments of benchmarks by @marvinborner in https://github.com/effekt-lang/effekt/pull/718
  • Extend array stdlib by @dvdvgt in https://github.com/effekt-lang/effekt/pull/839
  • Name join points introduced when compiling clauses by @jiribenes in https://github.com/effekt-lang/effekt/pull/848
  • Add function to abort phase non-fatally by @marvinborner in https://github.com/effekt-lang/effekt/pull/852
  • Fix canonical ordering by using the ordering at the declaration site by @b-studios in https://github.com/effekt-lang/effekt/pull/859
  • Add a regression test on capability ordering by @jiribenes in https://github.com/effekt-lang/effekt/pull/860
  • Update kiama submodule by @timsueberkrueb in https://github.com/effekt-lang/effekt/pull/868
  • Fix last from empty statements bug in CPSTransformer by @b-studios in https://github.com/effekt-lang/effekt/pull/871
  • Inlay hints: scaffolding and captures by @jiribenes in https://github.com/effekt-lang/effekt/pull/828

New Contributors

  • @timsueberkrueb made their first contribution in https://github.com/effekt-lang/effekt/pull/868

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.22.0...v0.23.0

- Scala
Published by effekt-updater[bot] 12 months ago

@effekt-lang/effekt - Release v0.22.0

What's Changed

  • More filesystem benchmarks by @phischu in https://github.com/effekt-lang/effekt/pull/802
  • Move direct style transformation from machine to core by @b-studios in https://github.com/effekt-lang/effekt/pull/830
  • Fix ResizableArray bounds check by @airzocker in https://github.com/effekt-lang/effekt/pull/838

New Contributors

  • @airzocker made their first contribution in https://github.com/effekt-lang/effekt/pull/838

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.21.0...v0.22.0

- Scala
Published by effekt-updater[bot] about 1 year ago

@effekt-lang/effekt - Release v0.21.0

What's Changed

  • Rest of computation in state statements by @phischu in https://github.com/effekt-lang/effekt/pull/824
  • Add alias information for prompts by @serkm in https://github.com/effekt-lang/effekt/pull/825
  • Transform machine to direct style, if possible by @b-studios in https://github.com/effekt-lang/effekt/pull/826

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.20.0...v0.21.0

- Scala
Published by effekt-updater[bot] about 1 year ago

@effekt-lang/effekt - Release v0.20.0

What's Changed

  • Mutable dynamic arrays, heaps, and simple union find data structures by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/585
  • Fix LLVM byte alignment for real by @marvinborner in https://github.com/effekt-lang/effekt/pull/803
  • Revise ignored LLVM tests by @marvinborner in https://github.com/effekt-lang/effekt/pull/776
  • Add basic string interpolation / string templates by @dvdvgt in https://github.com/effekt-lang/effekt/pull/743
  • Store StackValues in the actual stack by @serkm in https://github.com/effekt-lang/effekt/pull/808
  • Panic on prompt duplication by @serkm in https://github.com/effekt-lang/effekt/pull/810
  • Valgrind fails in CI by @phischu in https://github.com/effekt-lang/effekt/pull/790
  • Specialize on most common opening flags by @phischu in https://github.com/effekt-lang/effekt/pull/816
  • CI: fix autorelease, add Dependabot by @jiribenes in https://github.com/effekt-lang/effekt/pull/818
  • Bump actions/download-artifact from 3 to 4 by @dependabot in https://github.com/effekt-lang/effekt/pull/820
  • Make panics output to stdout by @jiribenes in https://github.com/effekt-lang/effekt/pull/823

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.19.0...v0.20.0

- Scala
Published by effekt-updater[bot] about 1 year ago

@effekt-lang/effekt - Release v0.19.0

What's Changed

  • Fix byte-related LLVM segfaults by @marvinborner in https://github.com/effekt-lang/effekt/pull/785
  • Add more VM tests by @b-studios in https://github.com/effekt-lang/effekt/pull/788
  • Refactor/replace environments by substitution by @b-studios in https://github.com/effekt-lang/effekt/pull/787
  • Fix nitpicks in core pretty-printing by @jiribenes in https://github.com/effekt-lang/effekt/pull/789
  • Implement compare for bytearray by @mattisboeckle in https://github.com/effekt-lang/effekt/pull/771
  • ByteArray support for Chez by @jiribenes in https://github.com/effekt-lang/effekt/pull/791
  • Fix primitive string comparison on Chez by @jiribenes in https://github.com/effekt-lang/effekt/pull/792
  • Add immutable ordered finite 'map' and 'set' to the stdlib by @jiribenes in https://github.com/effekt-lang/effekt/pull/561
  • Unification benchmark using 'map' and 'stream' by @jiribenes in https://github.com/effekt-lang/effekt/pull/798
  • Add stdlib test importing every stdlib module + fix stdlib by @jiribenes in https://github.com/effekt-lang/effekt/pull/795

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.18.0...v0.19.0

- Scala
Published by effekt-updater[bot] about 1 year ago

@effekt-lang/effekt - Release v0.18.0

What's Changed

  • Generate loops in JS for obviously tail-calling functions by @b-studios in https://github.com/effekt-lang/effekt/pull/773
  • Fix free variable computation for default clauses in Machine by @phischu in https://github.com/effekt-lang/effekt/pull/769
  • Implement missing math functions in LLVM backend by @mattisboeckle in https://github.com/effekt-lang/effekt/pull/739
  • Make 'list::sort' quick by using natural mergesort by @jiribenes in https://github.com/effekt-lang/effekt/pull/711
  • Make local continuations direct style if possible by @b-studios in https://github.com/effekt-lang/effekt/pull/777
  • Add Examples / Unit Tests for Exceptions by @JakubSchwenkbeck in https://github.com/effekt-lang/effekt/pull/775
  • Fix #772 by parsing 'box ' instead of 'box ' by @jiribenes in https://github.com/effekt-lang/effekt/pull/779
  • Fix spelling: tyoes -> types by @PhictionalOne in https://github.com/effekt-lang/effekt/pull/781
  • Fix unknown compiler crash printing 'null' by @jiribenes in https://github.com/effekt-lang/effekt/pull/780

New Contributors

  • @mattisboeckle made their first contribution in https://github.com/effekt-lang/effekt/pull/739
  • @PhictionalOne made their first contribution in https://github.com/effekt-lang/effekt/pull/781

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.17.0...v0.18.0

- Scala
Published by effekt-updater[bot] about 1 year ago

@effekt-lang/effekt - Release v0.17.0

What's Changed

  • Refactor core (remove Run, Scope, Params...) by @b-studios in https://github.com/effekt-lang/effekt/pull/759
  • Address #344 by showing blocks when they are necessary by @b-studios in https://github.com/effekt-lang/effekt/pull/762
  • Improve dead code elimination to remove unused cases and operations by @b-studios in https://github.com/effekt-lang/effekt/pull/763
  • Add first draft of instrumented virtual machine by @b-studios in https://github.com/effekt-lang/effekt/pull/713
  • Drop Select from core and add Run to CPS by @b-studios in https://github.com/effekt-lang/effekt/pull/765

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.16.0...v0.17.0

- Scala
Published by effekt-updater[bot] about 1 year ago

@effekt-lang/effekt - Release v0.16.0

What's Changed

  • CI: Prevent unnecessary release by @jiribenes in https://github.com/effekt-lang/effekt/pull/755
  • Fix some memory leaks by @phischu in https://github.com/effekt-lang/effekt/pull/736
  • Only inline into active positions by @b-studios in https://github.com/effekt-lang/effekt/pull/695

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.15.0...v0.16.0

- Scala
Published by effekt-updater[bot] about 1 year ago

@effekt-lang/effekt - Release v0.15.0

What's Changed

  • Stdlib: Add simple libraries: Scanner, Json by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/631
  • Update/kiama lsp by @b-studios in https://github.com/effekt-lang/effekt/pull/753
  • Add 'show' for 'Byte' on JavaScript by @CanCodes in https://github.com/effekt-lang/effekt/pull/752
  • Fixes #733 by bringing the rewritten definitions into scope, instead of old ones by @b-studios in https://github.com/effekt-lang/effekt/pull/754

New Contributors

  • @CanCodes made their first contribution in https://github.com/effekt-lang/effekt/pull/752

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.14.0...v0.15.0

- Scala
Published by effekt-updater[bot] about 1 year ago

@effekt-lang/effekt - Release v0.14.0

What's Changed

  • Cherry-pick inlining fix from #725 by @jiribenes in https://github.com/effekt-lang/effekt/pull/730
  • Implemented count function for Lists by @JakubSchwenkbeck in https://github.com/effekt-lang/effekt/pull/729
  • Add new escapes to 'string/tty', rename to 'tty', deprecate ANSI namespace by @jiribenes in https://github.com/effekt-lang/effekt/pull/728
  • Allow importing JS-specific Effekt libraries on jsWeb backend by @jiribenes in https://github.com/effekt-lang/effekt/pull/738
  • Fix lexing of ' by @dvdvgt in https://github.com/effekt-lang/effekt/pull/742
  • Make sure unique name is actually fresh by @phischu in https://github.com/effekt-lang/effekt/pull/741
  • Revert "Cherry-pick inlining fix from #725" by @jiribenes in https://github.com/effekt-lang/effekt/pull/745
  • Add a regression check for #692 by @jiribenes in https://github.com/effekt-lang/effekt/pull/693
  • Do not abort after successful compilation on js-web by @jiribenes in https://github.com/effekt-lang/effekt/pull/747

New Contributors

  • @JakubSchwenkbeck made their first contribution in https://github.com/effekt-lang/effekt/pull/729

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.13.0...v0.14.0

- Scala
Published by effekt-updater[bot] about 1 year ago

@effekt-lang/effekt - Release v0.13.0

What's Changed

  • Remove flag from %StackValue by @serkm in https://github.com/effekt-lang/effekt/pull/721
  • Use noalias on StackValues by @serkm in https://github.com/effekt-lang/effekt/pull/704

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.12.0...v0.13.0

- Scala
Published by effekt-updater[bot] about 1 year ago

@effekt-lang/effekt - Release v0.12.0

What's Changed

  • Refactor 'stream', add a few examples by @jiribenes in https://github.com/effekt-lang/effekt/pull/705

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.11.0...v0.12.0

- Scala
Published by effekt-updater[bot] about 1 year ago

@effekt-lang/effekt - Release v0.11.0

What's Changed

  • Fix LLVM FFI in Tour by @jiribenes in https://github.com/effekt-lang/effekt/pull/698
  • Note free region variables by @serkm in https://github.com/effekt-lang/effekt/pull/697
  • Static argument optimization by @marvinborner in https://github.com/effekt-lang/effekt/pull/700
  • Fix/static arguments by @b-studios in https://github.com/effekt-lang/effekt/pull/706
  • JS runtime: Extract RESUME function by @dvdvgt in https://github.com/effekt-lang/effekt/pull/708

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.10.0...v0.11.0

- Scala
Published by effekt-updater[bot] over 1 year ago

@effekt-lang/effekt - Release v0.10.0

What's Changed

  • Basic streaming by @phischu in https://github.com/effekt-lang/effekt/pull/527
  • Replace legacy sprintf with snprintf by @marvinborner in https://github.com/effekt-lang/effekt/pull/685
  • Add more GCC flags to CI builds by @marvinborner in https://github.com/effekt-lang/effekt/pull/656
  • Don't use weak refs by @b-studios in https://github.com/effekt-lang/effekt/pull/647
  • Improve benchmark arguments by @marvinborner in https://github.com/effekt-lang/effekt/pull/666
  • Fix tail-resumption optimization by @b-studios in https://github.com/effekt-lang/effekt/pull/692
  • Refactor core for optimizer by @b-studios in https://github.com/effekt-lang/effekt/pull/694
  • Also desugar with-do by @b-studios in https://github.com/effekt-lang/effekt/pull/691

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.9.0...v0.10.0

- Scala
Published by effekt-updater[bot] over 1 year ago

@effekt-lang/effekt - Release v0.9.0

What's Changed

  • More sharing of erasers and sharers by @marvinborner in https://github.com/effekt-lang/effekt/pull/657
  • Add 'char' library by cherrypicking from #631 by @jiribenes in https://github.com/effekt-lang/effekt/pull/664
  • Allocate region variables as "local variables" on previous stack by @serkm in https://github.com/effekt-lang/effekt/pull/642
  • Try to improve resolution by adding a bit context by @b-studios in https://github.com/effekt-lang/effekt/pull/671
  • Refactor/core delimited control by @b-studios in https://github.com/effekt-lang/effekt/pull/669
  • Optimize tailresumptive handlers by @b-studios in https://github.com/effekt-lang/effekt/pull/674
  • Note parameters by @serkm in https://github.com/effekt-lang/effekt/pull/677
  • Add jump-to-definition for imports by @b-studios in https://github.com/effekt-lang/effekt/pull/676
  • Improve the error when an effect is not fully known by @b-studios in https://github.com/effekt-lang/effekt/pull/678
  • Fix 'jump to definition' for singleton operations (#646) by @jiribenes in https://github.com/effekt-lang/effekt/pull/681
  • Fix getting started link by @b-studios in https://github.com/effekt-lang/effekt/pull/682

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.8.0...v0.9.0

- Scala
Published by effekt-updater[bot] over 1 year ago

@effekt-lang/effekt - Release v0.8.0

What's Changed

  • Do polymorphism boxing for the result of regions by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/655
  • Fix #661 by improving type inference by @b-studios in https://github.com/effekt-lang/effekt/pull/662

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.7.0...v0.8.0

- Scala
Published by effekt-updater[bot] over 1 year ago

@effekt-lang/effekt - Release v0.7.0

What's Changed

  • Refactor LLVM backend by @serkm in https://github.com/effekt-lang/effekt/pull/648
  • Make LLVM's stack growable by @marvinborner in https://github.com/effekt-lang/effekt/pull/644
  • Mutable bytearrays by @phischu in https://github.com/effekt-lang/effekt/pull/630
  • Direct access to handlers/state by @serkm in https://github.com/effekt-lang/effekt/pull/645
  • Require default for finite domains instead of giving up by @b-studios in https://github.com/effekt-lang/effekt/pull/653
  • Fix bytearray construct by @phischu in https://github.com/effekt-lang/effekt/pull/654

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.6.0...v0.7.0

- Scala
Published by effekt-updater[bot] over 1 year ago

@effekt-lang/effekt - Release v0.6.0

What's Changed

  • Fix capability passing for extern definitions by @dvdvgt in https://github.com/effekt-lang/effekt/pull/633
  • Fix SBT installation by @marvinborner in https://github.com/effekt-lang/effekt/pull/637
  • Add missing sbt setups by @marvinborner in https://github.com/effekt-lang/effekt/pull/643
  • Js cps backend by @b-studios in https://github.com/effekt-lang/effekt/pull/619
  • Fix scheduler case study title by @jiribenes in https://github.com/effekt-lang/effekt/pull/649

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.5.0...v0.6.0

- Scala
Published by effekt-updater[bot] over 1 year ago

@effekt-lang/effekt - Release v0.5.0

What's Changed

  • Remove "user-defined effects" terminology by @oberth-effect in https://github.com/effekt-lang/effekt/pull/623
  • Allow braces in match clauses by @dvdvgt in https://github.com/effekt-lang/effekt/pull/626
  • Recover from malformed operation implementation by @jiribenes in https://github.com/effekt-lang/effekt/pull/625
  • Add arithmetic right shift to stdlib by @jiribenes in https://github.com/effekt-lang/effekt/pull/629
  • Add scheduler example as a casestudy by @dvdvgt in https://github.com/effekt-lang/effekt/pull/627
  • Add repl to scheduler casestudy by @dvdvgt in https://github.com/effekt-lang/effekt/pull/634
  • Improve handling of (unicode) escapes by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/622
  • Migrate doc comments to use '///' by @jiribenes in https://github.com/effekt-lang/effekt/pull/628

New Contributors

  • @oberth-effect made their first contribution in https://github.com/effekt-lang/effekt/pull/623

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.4.0...v0.5.0

- Scala
Published by effekt-updater[bot] over 1 year ago

@effekt-lang/effekt - Release v0.4.0

What's Changed

  • Added case study on probabilistic programming and inference by @sinaschaefer in https://github.com/effekt-lang/effekt/pull/445
  • Update NodeJS to 16.x by @jiribenes in https://github.com/effekt-lang/effekt/pull/599
  • Alternative: implement transformation in machine-transformer by @b-studios in https://github.com/effekt-lang/effekt/pull/602
  • Privatize inlined functions by @serkm in https://github.com/effekt-lang/effekt/pull/597
  • Implement round, floor, ceil on the LLVM backend by @jiribenes in https://github.com/effekt-lang/effekt/pull/606
  • Direct IO which is asynchronous by @phischu in https://github.com/effekt-lang/effekt/pull/553
  • Inline includes and mark them as jsNode where necessary by @b-studios in https://github.com/effekt-lang/effekt/pull/612
  • Effekt by example by @dvdvgt in https://github.com/effekt-lang/effekt/pull/536
  • Move 'examples/features' to 'examples/tour' by @jiribenes in https://github.com/effekt-lang/effekt/pull/618
  • Update installation instructions on the README by @dvdvgt in https://github.com/effekt-lang/effekt/pull/615
  • Fix infinite recursion in PolymorphismBoxing by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/620
  • Prettify the stdlib testing framework by @jiribenes in https://github.com/effekt-lang/effekt/pull/542
  • Remove lifted and backends that use it by @b-studios in https://github.com/effekt-lang/effekt/pull/616
  • Fix cast warning in LLVM io.c by @marvinborner in https://github.com/effekt-lang/effekt/pull/617

New Contributors

  • @sinaschaefer made their first contribution in https://github.com/effekt-lang/effekt/pull/445

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.3.0...v0.4.0

- Scala
Published by effekt-updater[bot] over 1 year ago

@effekt-lang/effekt - Release v0.3.0

What's Changed

  • Namer should bind captures of mutable variables by @b-studios in https://github.com/effekt-lang/effekt/pull/409
  • Add a generic structural comparison primitive to JS backend by @jiribenes in https://github.com/effekt-lang/effekt/pull/394
  • Feature: tracing/timing of compilation phases by @dvdvgt in https://github.com/effekt-lang/effekt/pull/411
  • Fix highlights for consoles with white text color by @marvinborner in https://github.com/effekt-lang/effekt/pull/416
  • Add benchmarks for reduction of functions by @marvinborner in https://github.com/effekt-lang/effekt/pull/413
  • Add Existentials by @b-studios in https://github.com/effekt-lang/effekt/pull/418
  • Add support for names ending in ? and ! by @b-studios in https://github.com/effekt-lang/effekt/pull/419
  • Fix multiple string issues by @marvinborner in https://github.com/effekt-lang/effekt/pull/410
  • Rename Boolean to Bool by @marvinborner in https://github.com/effekt-lang/effekt/pull/420
  • Explicit interface boxing by @jiribenes in https://github.com/effekt-lang/effekt/pull/421
  • Allow using get and put with UFCS by @jiribenes in https://github.com/effekt-lang/effekt/pull/424
  • Improve parser performance by not copying strings all of the time by @b-studios in https://github.com/effekt-lang/effekt/pull/436
  • Enable inlining of small block definitions by @b-studios in https://github.com/effekt-lang/effekt/pull/438
  • Fix #434 by disabling unnecessary check by @b-studios in https://github.com/effekt-lang/effekt/pull/439
  • Add shortcutting for boolean operations by @marvinborner in https://github.com/effekt-lang/effekt/pull/425
  • Add flag for outputting IRs by @marvinborner in https://github.com/effekt-lang/effekt/pull/443
  • Use feature flags for extern definitions by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/427
  • Type omission for operation implementations and block arguments by @dvdvgt in https://github.com/effekt-lang/effekt/pull/417
  • LLVM: Allow polymorphic codata by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/452
  • Cache compiler after stdlib to speed up tests by @b-studios in https://github.com/effekt-lang/effekt/pull/450
  • Extern warnings only if they reach code generation by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/451
  • Fix ANSI highlighting of strings within multiline strings by @marvinborner in https://github.com/effekt-lang/effekt/pull/457
  • Unnamed types by @phischu in https://github.com/effekt-lang/effekt/pull/460
  • PolymorphismBoxing for Any/Nothing by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/458
  • Refactor Stdlib by @b-studios in https://github.com/effekt-lang/effekt/pull/449
  • Fix boxing of Nothing / Add explicit type annotation to Val, Let by @b-studios in https://github.com/effekt-lang/effekt/pull/461
  • Homogenize options by @b-studios in https://github.com/effekt-lang/effekt/pull/467
  • Report detailed missing case on non-exhaustive pattern match by @jiribenes in https://github.com/effekt-lang/effekt/pull/470
  • Fix/dont match on unit by @b-studios in https://github.com/effekt-lang/effekt/pull/468
  • Box/unbox boxed blocks by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/476
  • Fix running Effekt on Windows by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/442
  • Allow new-style on[E].result Result reification by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/479
  • Bugfix: Duplicate definitions in test stdlib by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/478
  • Mutable arrays in the LLVM backend by @phischu in https://github.com/effekt-lang/effekt/pull/477
  • Use externs in PolymorphismBoxing by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/485
  • Add Concurrent IO by @b-studios in https://github.com/effekt-lang/effekt/pull/469
  • Print types of block arguments without an Option wrapper by @jiribenes in https://github.com/effekt-lang/effekt/pull/486
  • Allow passing command line parameters directly by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/487
  • Standardize command-line argument passing across backends by @jiribenes in https://github.com/effekt-lang/effekt/pull/489
  • Fix #491 by renaming leftover primitives by @jiribenes in https://github.com/effekt-lang/effekt/pull/492
  • Use consistent naming scheme for output files by @marvinborner in https://github.com/effekt-lang/effekt/pull/498
  • Implement equality/inequality for Double by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/490
  • Fix generic equals in js backend by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/499
  • Fix string concatenation on the JavaScript backend by @jiribenes in https://github.com/effekt-lang/effekt/pull/493
  • Rename constructors of collections by @jiribenes in https://github.com/effekt-lang/effekt/pull/488
  • Change standard library and handle corner case by @phischu in https://github.com/effekt-lang/effekt/pull/501
  • Recursive descent by @b-studios in https://github.com/effekt-lang/effekt/pull/495
  • Adding a separate lexer by @dvdvgt in https://github.com/effekt-lang/effekt/pull/435
  • Improve readability of generated LLVM code by @marvinborner in https://github.com/effekt-lang/effekt/pull/509
  • More benchmarks by @phischu in https://github.com/effekt-lang/effekt/pull/459
  • Additions to the string stdlib by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/518
  • Fix scope of DataDef constructors by @marvinborner in https://github.com/effekt-lang/effekt/pull/519
  • Add debug and valgrind to LLVM tests and config by @marvinborner in https://github.com/effekt-lang/effekt/pull/510
  • Switch to LLVM's tailcc calling convention by passing arguments without env by @marvinborner in https://github.com/effekt-lang/effekt/pull/482
  • Add feature flags jsNode and jsWeb by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/454
  • Allow with def analogously to with val by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/526
  • JS: Parenthesize arguments of raw expresions by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/531
  • Even more descriptive LLVM codegen by @marvinborner in https://github.com/effekt-lang/effekt/pull/520
  • Cleanup test exclusions by @marvinborner in https://github.com/effekt-lang/effekt/pull/539
  • Fix off-by-one error in array::copy by @rzikm in https://github.com/effekt-lang/effekt/pull/545
  • Make control an explicit capability to overload the traversal by @b-studios in https://github.com/effekt-lang/effekt/pull/528
  • Require main to always return unit by @b-studios in https://github.com/effekt-lang/effekt/pull/551
  • LLVM: Pass stack instead of stack pointer by @marvinborner in https://github.com/effekt-lang/effekt/pull/530
  • Implement a proper wellformedness check by @b-studios in https://github.com/effekt-lang/effekt/pull/552
  • Do not crash the compiler in server mode by @b-studios in https://github.com/effekt-lang/effekt/pull/532
  • Add 'process' module with 'exit' function by @jiribenes in https://github.com/effekt-lang/effekt/pull/541
  • Add --version CLI flag by @jiribenes in https://github.com/effekt-lang/effekt/pull/556
  • Fix: Lexer crashes on unmatched } by @dvdvgt in https://github.com/effekt-lang/effekt/pull/555
  • Cache sbt files in CI, update versions of CI actions by @jiribenes in https://github.com/effekt-lang/effekt/pull/560
  • Improve names generated by LLVM by @b-studios in https://github.com/effekt-lang/effekt/pull/562
  • Use a relative path for loading the JS main by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/566
  • Also refer to main files and chez using a relative path by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/570
  • Fix PolymorphismBoxing for more complex uses of interfaces and effect handlers by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/575
  • Fix issue #577 by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/578
  • Chez: make floor, ceil return int values by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/580
  • Fix type arguments when PolymorphismBoxing parametrized handlers by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/581
  • Move from lift to prompts by @b-studios in https://github.com/effekt-lang/effekt/pull/563
  • CI: Update actions/setup-java to v4 by @jiribenes in https://github.com/effekt-lang/effekt/pull/583
  • Move to a weekly release scheme by @jiribenes in https://github.com/effekt-lang/effekt/pull/538
  • Move benchmark configs from effekt-plots by @marvinborner in https://github.com/effekt-lang/effekt/pull/567
  • refactor: Use env variables for java and node versions in ci.yml by @ChinoUkaegbu in https://github.com/effekt-lang/effekt/pull/586
  • Use splices in LLVM templates by @b-studios in https://github.com/effekt-lang/effekt/pull/587
  • Clean up transformation to machine a bit by @b-studios in https://github.com/effekt-lang/effekt/pull/588
  • Support singleton operations better by @b-studios in https://github.com/effekt-lang/effekt/pull/590
  • Fix buggy LLVM tests by @marvinborner in https://github.com/effekt-lang/effekt/pull/568
  • Local Variables by @serkm in https://github.com/effekt-lang/effekt/pull/584
  • CI: Bypass push protection in autorelease.yml by @jiribenes in https://github.com/effekt-lang/effekt/pull/591

New Contributors

  • @rzikm made their first contribution in https://github.com/effekt-lang/effekt/pull/545
  • @ChinoUkaegbu made their first contribution in https://github.com/effekt-lang/effekt/pull/586

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.2.2...v0.3.0

- Scala
Published by github-actions[bot] over 1 year ago

@effekt-lang/effekt - Release v0.2.2

Automatic release for refs/tags/v0.2.2

What's Changed

  • Rework --compile and add a seperate --build option by @dvdvgt in https://github.com/effekt-lang/effekt/pull/294
  • Integrate higher-rank polymorphism on block parameters by @dvdvgt in https://github.com/effekt-lang/effekt/pull/298
  • fix currentTimeNanos to return nanos, not micros by @IR0NSIGHT in https://github.com/effekt-lang/effekt/pull/302
  • Lexer: match escape sequences in strings by @dvdvgt in https://github.com/effekt-lang/effekt/pull/290
  • Feature/init array default values by @IR0NSIGHT in https://github.com/effekt-lang/effekt/pull/296
  • Higher Rank Polymorphism follow-up: parser refactor by @dvdvgt in https://github.com/effekt-lang/effekt/pull/310
  • JS backend: Do not drop first element for Array.toList (fixes #319) by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/320
  • Port break & continue to all backends by @jiribenes in https://github.com/effekt-lang/effekt/pull/315
  • Testing infrastructure for core transformations by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/321
  • Improve core testing infrastructure by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/323
  • DS-JS Backend by @b-studios in https://github.com/effekt-lang/effekt/pull/316
  • Refactor/post merge cleanup by @b-studios in https://github.com/effekt-lang/effekt/pull/340
  • Add sbt command bench to automatically run the benchmarks by @b-studios in https://github.com/effekt-lang/effekt/pull/342
  • Use .effekt.md for literate Effekt code by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/341
  • Make most of the tests work for the monadic backend again by @b-studios in https://github.com/effekt-lang/effekt/pull/343
  • Expand standard library by @jiribenes in https://github.com/effekt-lang/effekt/pull/339
  • Fix missing code snippet ending by @marvinborner in https://github.com/effekt-lang/effekt/pull/346
  • Add sbt task for building the JS file by @dvdvgt in https://github.com/effekt-lang/effekt/pull/347
  • Feature/core constructor by @b-studios in https://github.com/effekt-lang/effekt/pull/349
  • Fix "Annotate Captures" feature of the VSCode extension by @dvdvgt in https://github.com/effekt-lang/effekt/pull/348
  • Fix non-zero exit code on error by @marvinborner in https://github.com/effekt-lang/effekt/pull/338
  • Feature/extern unquotes by @b-studios in https://github.com/effekt-lang/effekt/pull/350
  • Try to fix capture flow by @b-studios in https://github.com/effekt-lang/effekt/pull/371
  • Website breaks to missing extern definitions by @b-studios in https://github.com/effekt-lang/effekt/pull/374
  • Improve Test Runner by @b-studios in https://github.com/effekt-lang/effekt/pull/377
  • Warn if a type parameter shadows a non-parameter by @b-studios in https://github.com/effekt-lang/effekt/pull/378
  • Fix #354 by not exporting extern resources by @b-studios in https://github.com/effekt-lang/effekt/pull/379
  • Try to run CI only once and not twice on a PR by @b-studios in https://github.com/effekt-lang/effekt/pull/380
  • Also check wellformedness of effects in namer by @b-studios in https://github.com/effekt-lang/effekt/pull/381
  • Also export and import captures to allow referring to them in other modules by @b-studios in https://github.com/effekt-lang/effekt/pull/382
  • Do not ignore type parameters of receiver in method calls by @b-studios in https://github.com/effekt-lang/effekt/pull/376
  • Implement pattern matching with literals and guards by @b-studios in https://github.com/effekt-lang/effekt/pull/385
  • Implement namespaces by @b-studios in https://github.com/effekt-lang/effekt/pull/388
  • Fix separate compilation involving (nested) namespaces by @b-studios in https://github.com/effekt-lang/effekt/pull/391
  • Constructor calls are also pure, but we need to bind them as scrutinees by @b-studios in https://github.com/effekt-lang/effekt/pull/393
  • Expand immutable/list library in every backend by @jiribenes in https://github.com/effekt-lang/effekt/pull/355
  • Add examples from OOPSLA-2022 artifact as tests by @dvdvgt in https://github.com/effekt-lang/effekt/pull/386
  • Hardcode types that should be boxed by @b-studios in https://github.com/effekt-lang/effekt/pull/392
  • Directly forward execution output to stdout by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/370
  • Fix: Object typing for bidirectional effects by @dvdvgt in https://github.com/effekt-lang/effekt/pull/361

New Contributors

  • @dvdvgt made their first contribution in https://github.com/effekt-lang/effekt/pull/294
  • @IR0NSIGHT made their first contribution in https://github.com/effekt-lang/effekt/pull/302
  • @marvinborner made their first contribution in https://github.com/effekt-lang/effekt/pull/346

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.2.1...v0.2.2

- Scala
Published by github-actions[bot] about 2 years ago

@effekt-lang/effekt - Release v0.2.1

Automatic release for refs/tags/v0.2.1

What's Changed -- Major

  • Evidence Monomorphization by @b-studios in https://github.com/effekt-lang/effekt/pull/229
  • Naive state by @b-studios in https://github.com/effekt-lang/effekt/pull/235

What's Changed –– User Facing

  • Generalize extern capture and add resources by @b-studios in https://github.com/effekt-lang/effekt/pull/178
  • Parse return type annotation of operations by @jiribenes in https://github.com/effekt-lang/effekt/pull/148
  • Feature/user state by @b-studios in https://github.com/effekt-lang/effekt/pull/176
  • Feature/compile pattern matching by @b-studios in https://github.com/effekt-lang/effekt/pull/187
  • Feature/match void by @b-studios in https://github.com/effekt-lang/effekt/pull/189
  • Improved Exhaustivity Check by @b-studios in https://github.com/effekt-lang/effekt/pull/190
  • Refactor/deprecate local declarations by @b-studios in https://github.com/effekt-lang/effekt/pull/191
  • Deprecate multiple value argument sections by @b-studios in https://github.com/effekt-lang/effekt/pull/253
  • Improve errors by @b-studios in https://github.com/effekt-lang/effekt/pull/255
  • Optimize Core by @b-studios in https://github.com/effekt-lang/effekt/pull/267
  • Support 64bit integer literals by @b-studios in https://github.com/effekt-lang/effekt/pull/279
  • Support recursive object definitions by @b-studios in https://github.com/effekt-lang/effekt/pull/280
  • Avoid having two effekt binaries (deprecate effekt.sh) by @b-studios in https://github.com/effekt-lang/effekt/pull/166
  • First step at making the prelude configurable by @b-studios in https://github.com/effekt-lang/effekt/pull/174
  • Make prelude configurable by @b-studios in https://github.com/effekt-lang/effekt/pull/175
  • Feature/show capture in vscode by @b-studios in https://github.com/effekt-lang/effekt/pull/181
  • Expand on stdlib for ML backend by @b-studios in https://github.com/effekt-lang/effekt/pull/260

What's Changed -- LLVM Backend

  • More extensive stdlib for LLVM by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/223
  • LLVM Doubles by @jfrech in https://github.com/effekt-lang/effekt/pull/141
  • LLVM Strings (UTF-8-interpreted byte buffers) by @jfrech in https://github.com/effekt-lang/effekt/pull/142

  • multi-line extern definitions ; LLVM stdlib by @jfrech in https://github.com/effekt-lang/effekt/pull/138

  • Machine: interfaces and multiple operations by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/162

  • Machine: Handle evidence by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/164

  • Machine: Allow block parameters with effects by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/184

  • Shallow types in machine so we can compile recursive data types. by @phischu in https://github.com/effekt-lang/effekt/pull/154

  • machine: Add support for multi-handlers by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/236

  • machine: Val(x,s,Return(x)) -> s by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/241

  • Feature/mutable_state by @phischu in https://github.com/effekt-lang/effekt/pull/170

  • Opaque pointers by @serkm in https://github.com/effekt-lang/effekt/pull/197

  • Cache erasers based on environment type by @serkm in https://github.com/effekt-lang/effekt/pull/201

  • Machine: Fix arity mismatch with effect handlers due to evidence by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/163

  • Mutable state using evidence by @serkm in https://github.com/effekt-lang/effekt/pull/248

  • Set default llvm version to 15 by @serkm in https://github.com/effekt-lang/effekt/pull/212

  • Multiple operations by @serkm in https://github.com/effekt-lang/effekt/pull/275

What's Changed –– Code Quality

  • Fix block parameter type pretty-printing by @jiribenes in https://github.com/effekt-lang/effekt/pull/155
  • Move from Scalatest to MUnit by @b-studios in https://github.com/effekt-lang/effekt/pull/172
  • Migrate to Scala 3.2 by @b-studios in https://github.com/effekt-lang/effekt/pull/173
  • Simplify Syntax by @b-studios in https://github.com/effekt-lang/effekt/pull/177
  • Rename Builtin to Extern by @b-studios in https://github.com/effekt-lang/effekt/pull/179
  • Refactor/syntax into enums by @b-studios in https://github.com/effekt-lang/effekt/pull/183
  • Add sbt command generateDocumentation to update the tree documentation by @b-studios in https://github.com/effekt-lang/effekt/pull/186
  • Refactor/cleanup core lifted by @b-studios in https://github.com/effekt-lang/effekt/pull/193
  • Drop intrinsic lists in core by @b-studios in https://github.com/effekt-lang/effekt/pull/194
  • Whole program js by @b-studios in https://github.com/effekt-lang/effekt/pull/196
  • Feature/typed core draft by @b-studios in https://github.com/effekt-lang/effekt/pull/203
  • Core parser by @b-studios in https://github.com/effekt-lang/effekt/pull/205
  • Remove deprecated test by @JonathanStarup in https://github.com/effekt-lang/effekt/pull/208
  • Annotate more core types in lifted by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/209
  • Common Context objects for phases on core and lifted by @b-studios in https://github.com/effekt-lang/effekt/pull/204
  • Refactor/visitor macro by @b-studios in https://github.com/effekt-lang/effekt/pull/211
  • Handle Record in DeclPrinter by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/216
  • Polymorphism in machine-based backends (through boxing) by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/199
  • Wrap pure/direct blocks in core to use the correct calling convention by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/210
  • Convert filename of location of node to URI by @mm0821 in https://github.com/effekt-lang/effekt/pull/221
  • PolymorphismBoxing: Transform the callee correctly by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/228
  • Fix bug in tuple pattern by @serkm in https://github.com/effekt-lang/effekt/pull/224
  • Refactor/typed lifted by @b-studios in https://github.com/effekt-lang/effekt/pull/226
  • lifted.freeVariables: Don't overload by type, assert equality by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/227
  • MLton backend by @b-studios in https://github.com/effekt-lang/effekt/pull/156
  • WIP Quickly draft implement state that requires evidence by @b-studios in https://github.com/effekt-lang/effekt/pull/231
  • Add shift to lifted by @b-studios in https://github.com/effekt-lang/effekt/pull/232
  • Refactor backend interfaces by @b-studios in https://github.com/effekt-lang/effekt/pull/234
  • Add support for Holes to machine and llvm by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/220
  • machine: Fix passing of free variables to local functions by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/219
  • PolymorphismBoxing: Fix transformation of Operations by @marzipankaiser in https://github.com/effekt-lang/effekt/pull/237
  • Fix failing test caused by #255 by @jiribenes in https://github.com/effekt-lang/effekt/pull/257
  • Recursive mono by @b-studios in https://github.com/effekt-lang/effekt/pull/263
  • Bugfix at toInt by @serkm in https://github.com/effekt-lang/effekt/pull/277
  • Fix/32bit integer literals by @b-studios in https://github.com/effekt-lang/effekt/pull/278

New Contributors

  • @serkm made their first contribution in https://github.com/effekt-lang/effekt/pull/197
  • @JonathanStarup made their first contribution in https://github.com/effekt-lang/effekt/pull/208

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.2.0...v0.2.1

- Scala
Published by github-actions[bot] over 2 years ago

@effekt-lang/effekt - Release v0.2.0

Automatic release for refs/tags/v0.2.0

What's Changed

  • We integrated System C (described in our OOPSLA paper "Effects, Capabilities, and Boxes"
  • First draft of the LLVM backend -- not fully implemented, yet.
  • Many more changes.

Full Changelog: https://github.com/effekt-lang/effekt/compare/v0.1.16...v0.2.0

- Scala
Published by github-actions[bot] over 3 years ago

@effekt-lang/effekt - Release v0.1.16

Automatic release for refs/tags/v0.1.16

Biggest changes are:

  • multiple new backends for ChezScheme
  • bidirectional effects (#29 thanks to @long-long-float)

- Scala
Published by github-actions[bot] about 5 years ago

@effekt-lang/effekt - Release v0.1.15

Automatic release for refs/tags/v0.1.15

- Scala
Published by github-actions[bot] almost 6 years ago

@effekt-lang/effekt - Release v0.1.14

Automatic release for refs/tags/v0.1.14

- Scala
Published by github-actions[bot] almost 6 years ago

@effekt-lang/effekt - Release v0.1.13

Automatic release for refs/tags/v0.1.13

In this release we changed the whole build setup of the Effekt compiler. It now tracks the timestamps of dependencies in traces and recompiles, if any transitive dependency changed.

- Scala
Published by github-actions[bot] almost 6 years ago

@effekt-lang/effekt - Prerelease v0.1.12

Automatic release for refs/tags/v0.1.12

- Scala
Published by github-actions[bot] almost 6 years ago

@effekt-lang/effekt - Release v0.1.11

Automatic release for refs/tags/v0.1.11

This release is improving pattern matching support.

  • New support for pattern matching block definitions
  • Pattern matching block definitions also supported in handler definitions
  • literal (constant) matchers

- Scala
Published by github-actions[bot] almost 6 years ago

@effekt-lang/effekt - Release v0.1.10

Automatic release for refs/tags/v0.1.10

  • improved REPL output on imports
  • Added script effekt.sh for linux

- Scala
Published by github-actions[bot] almost 6 years ago

@effekt-lang/effekt - Release v0.1.9

Automatic release for refs/tags/v0.1.9

New features:

  • highlighting of code in REPL (in errors)
  • command line history is now persisted in ~/.effekt_history

- Scala
Published by github-actions[bot] almost 6 years ago

@effekt-lang/effekt - Release v0.1.8

Automatic release for refs/tags/v0.1.8

New features:

  • match defs (i.e. val Foo(x) = Foo(42); ...)
  • tuple syntax for matchers
  • generalized pairs to tuples (up to size 6)

- Scala
Published by github-actions[bot] almost 6 years ago

@effekt-lang/effekt - Release v0.1.7

Automatic release for refs/tags/v0.1.7

- Scala
Published by github-actions[bot] almost 6 years ago

@effekt-lang/effekt - Prerelease v0.1.6

Automatic release for refs/tags/v0.1.6

- Scala
Published by github-actions[bot] almost 6 years ago