Releases: dhruvrajvanshi/hades-lang
Releases · dhruvrajvanshi/hades-lang
latest
v0.13.0
Commits
- 44b94de: Add HIRGenTypeTransformer (Dhruv) #142
- 27c4b1d: Use HIRTypeTransformer to lower TypeAnnotations (Dhruv) #142
- 0794d07: Lower param types (Dhruv) #142
- 7c43aab: Add syntax highlighting for ref structs (Dhruv) #143
- a262ab3: Test case for ref_struct (Dhruv) #143
- a5c2272: Make REF a keyword in the lexer (Dhruv) #143
- 993f9a5: Add isRef field to struct declaration (Dhruv) #143
- b45e481: Allow params to be marked as mutable (Dhruv) #143
- 3cd9953: Refactor diagnostic reporting logic (Dhruv) #143
- 1afb3db: Check for invalid mut annotations on params (Dhruv) #143
- 5f26afc: Disallow taking address of ref structs (Dhruv) #143
- 3261b1b: Allow member assignment on ref-structs (Dhruv) #143
- 9cef93e: Fix ref struct assignment checking (Dhruv) #143
- 08a1b20: Remove unused function (Dhruv) #143
- a160a53: Reformat (Dhruv) #143
- f579f87: Abstract over source file reading (Dhruv) #143
- 5ec23e1: Add test cases for HIRGen for ref struct (Dhruv) #143
- 5626b84: Add Ref type (Dhruv) #143
- f9511b4: Reformat (Dhruv) #143
- 0e90b57: Lower ref struct types for function params and returns (Dhruv) #143
- 4d0545b: Add IntelliJ run config for test suite (Dhruv) #143
- a85edb4: Add HIRStatement nodes for ref load/store (Dhruv) #143
- 36e93a1: HIRBuilder methods to to emit load and store for refs (Dhruv) #143
- 57f225d: Add helper factory function (Dhruv) #143
- acbea2e: Method to return type applied struct field (Dhruv) #143
- 1edcba4: Add
withoutTypeArgs
helper (Dhruv) #143 - 504393d: Add getStructDeclaration helper (Dhruv) #143
- 3c3e36b: Make HIRGenModuleContext a subtype of TypeTransformer (Dhruv) #143
- 3c74b56: Fix pretty printing of LoadRefField (Dhruv) #143
- 691413e: Make HIRBuilder.loadRefField return an expression (Dhruv) #143
- 25aa0e1: Add AllocRef instruction (Dhruv) #143
- 40f9257: Builder methods for allocRef (Dhruv) #143
- 0126ce9: HIRGen for ref structs (Dhruv) #143
- 5aa7c3e: LLVMGen for GC structs (Dhruv) #143
- 710f499: Fix missing implementation of visitStructDef (Dhruv) #143
- e9d17b1: Test case for ref struct inside enum (Dhruv) #143
- ddbdd7f: Fix lowering of enum constructor param values (Dhruv) #143
- 752ac28: Use FileTextProvider in DiagnosticReporter (Dhruv) #143
- 5003dfd: Add test case (Dhruv) #143
- 52270a7: Add test case (Dhruv) #143
- 77e62c5: Add missing type lowerings (Dhruv) #143
- 905f7ec: Fix test case (Dhruv) #143
v0.12.1
What's Changed
- Add hadesx module by @dhruvrajvanshi in #109
- Rename module NoCopy -> no_copy by @dhruvrajvanshi in #110
- Add postfix operators for ref/deref pointer operations by @dhruvrajvanshi in #112
- bugfix/fix-int-to-ptr-codegen-crash by @dhruvrajvanshi in #113
- Separate closure and fnptr types by @dhruvrajvanshi in #129
- Bump llvm-platform from 13.0.1-1.5.7 to 15.0.3-1.5.8 in /hadesboot by @dependabot in #124
- Feature/diagnostics json by @dhruvrajvanshi in #138
- Link with Boehm GC by @dhruvrajvanshi in #140
Full Changelog: v0.11.0...v0.12.1
v0.11.0
What's Changed
- Feature/no copy by @dhruvrajvanshi in #95
- Allow passing of some flags using hades.yml by @dhruvrajvanshi in #96
- Change CLI interface,
hades
->hades build
@dhruvrajvanshi in #98 - Allow not operator in where clauses by @dhruvrajvanshi in #100
- Reduce unnecessary logging while building by @dhruvrajvanshi in #101
- Diagnostic on missing return statements by @dhruvrajvanshi in #102
- Fix type inference for multiplication when rhs is an int literal by @dhruvrajvanshi in #103
- Improve error messages @dhruvrajvanshi in #104
- Allow assigning to
this.field
when*mut this
is passed by @dhruvrajvanshi in #107
Full Changelog: v0.10.0...v0.11.0
v0.10.0
What's Changed
A lot of internal code stability changes along with new features like align_of operator, move expressions, memcpy intrinsic.
- Bugfix: Closures get their own defer stack. Fixes #84 by @dhruvrajvanshi in #89
- Bugfix: Fix crash inside closures by @dhruvrajvanshi in #90
- Feature: move expression by @dhruvrajvanshi in #92
- Feature: Add align_of operator by @dhruvrajvanshi in #93
- Feature: memcpy intrinsic by @dhruvrajvanshi in #94
Full Changelog: v0.9.2...v0.10.0
v0.9.2
v0.9.1
Commits
- 9e3b317: Script to generate ops traits and implementations (Dhruv Rajvanshi)
- e2eb325: Add traits and implementations for Add, Mul and Sub (Dhruv Rajvanshi)
- e2c5eb3: Don't check for duplicate declaration inside impls (Dhruv Rajvanshi)
- 73f0e70: Fix codegen for ops impls for builtin types (Dhruv Rajvanshi)
- 8deb675: Remove extra declaration check (Dhruv Rajvanshi)
- a279927: Add float literals (Dhruv Rajvanshi) #79
- 5c71f07: Merge pull request #79 (Dhruv Rajvanshi) #79
- af3c3f9: Floating point division (Dhruv Rajvanshi) #80
- fb06858: Remainder operator for floating point numbers (Dhruv Rajvanshi) #80
- d8925a0: Merge pull request #80 (Dhruv Rajvanshi) #80
- 730f77e: Make enum case param labels optional (Dhruv Rajvanshi)
v0.9.0
- Sealed types have been replaced with enums (similar syntax to rust)
- Match expressions have been added, which can be used on Integers and Enums for now. Nested enum patterns are not supported yet.
- Intrinsics for integer arithmetic have been added. In the future, traits would be used for operator overloading, with default implementations provided by the standard library, using intrinsics.
Breaking changes
- When expressions have been removed. Match expressions can replace then
What's Changed
- Add usize and isize types by @dhruvrajvanshi in #51
- Basic array types by @dhruvrajvanshi in #52
- Check trait requirements for method calls by @dhruvrajvanshi in #50
- Feature/intrinsics by @dhruvrajvanshi in #58
- Unsigned int comparisons by @dhruvrajvanshi in #59
- Addition, subtraction, negation and multiplication by @dhruvrajvanshi in #61
- Fix type inference of when arms in checking mode by @dhruvrajvanshi in #62
- Feature/intrinsic int to ptr by @dhruvrajvanshi in #63
- Byte char literals by @dhruvrajvanshi in #64
- Match expressions by @dhruvrajvanshi in #72
- Match expressions over enum types by @dhruvrajvanshi in #77
- Remove when syntax by @dhruvrajvanshi in #78
Full Changelog: v0.8.0...v0.9.0
v0.8.0
Commits
- 42fbdf2: Allow integer literals to be assigned to floating point types (Dhruv Rajvanshi) #47
- 0ef9eff: Check for non exhaustive patterns (Dhruv Rajvanshi) #48
- e08e898: Version upgrades (Dhruv Rajvanshi) #49
- 4caf194: Better handling of command line flags (Dhruv Rajvanshi) #49
- e230e25: Cleanup temporary object file (Dhruv Rajvanshi) #49
- ece4349: Fix main function for new cli parser (Dhruv Rajvanshi) #49
- 84a08d6: Fix example for new flag parsing system (Dhruv Rajvanshi) #49
- b042d5e: Fix object file deletion (Dhruv Rajvanshi) #49
- 95d1a65: Fix web server example makefile (Dhruv Rajvanshi) #49
- 6b0970d: examples/web-server: Add html response (Dhruv Rajvanshi) #49
v0.7.0
Commits
- 1166fae: Fix crash when implementing traits for sealed types
- 4f23e59: Remove pipeline operator #41
- a255950: Remove move/ref/Copy and related traits #43
- 8f5e8e9: Simplify type application inference #44
- 6d90d5f: Fix bad types being generated by Monomorphization #44
- 17a94b3: Fix codegen for sealed type constructors without params #44
- a42f4ae: Make builtin types equatable #44
- 8c72c3f: Fix receiver resolution for method calls with explicit type application #46
- 889937d: Throw type error when trying to pass nullptr to non pointer parameter
- 28fb644: Treat parenthesized expression starting on newline as a new expression instead of call