hylo
hylo copied to clipboard
The Hylo programming language
Mutation markers should be required by the compiler on every expression appearing as argument to an `inout` or `set` parameter. For example, this program should not compile: ``` public fun...
This just happened for me: ``` Test Suite 'DriverTests' started at 2023-12-02 08:40:42.168. Test Case '-[DriverTests.DriverTests testBinary]' started. Swift/Integers.swift:1603: Fatal error: Distance is not representable in Int error: Exited with...
Addressors are subscripts that project an existing value rather than a synthetic one. Such subscripts should be compiled as direct function calls and not require any continuation. For example: ```swift...
The feature should work similarly as it does in [Swift](https://docs.swift.org/swift-book/documentation/the-swift-programming-language/closures/#Autoclosures). Note: `@autoclosure` is necessary to properly implement shortcut behavior in `Bool.infix&&`
[This commit](https://github.com/hylo-lang/hylo/pull/1143/commits/d2038b395551ffa7ca2d6a2257570c9a08d48e06) should pass tests as far as I can tell, but RangeTests fails. ``` /Users/dave/src/hylo/Tests/LibraryTests/TestCases/RangeTests.hylo:1: error: -[LibraryTests.LibraryTests test_compileAndRun_RangeTests] : success was expected, but processing failed with thrown error: NonzeroExit(...
This seems incorrect: https://github.com/hylo-lang/hylo/blob/91768bdc289bbc5e11f55c56489c0b47129b01f8/Sources/FrontEnd/TypeChecking/TypeChecker.swift#L5155 I suppose the intent was to say that a function `(A) -> B` is _less_ specific than a function `(T) -> B`, which isn't the case...
Reproducer: ```swift type A { public memberwise init } typealias B = A trait T {} conformance B: T { public fun h() { let p = self check(p) //
During conformance checking, the type checker tries to match each requirement of the trait to an implementation of the conforming type. That is done by: 1. inferring the type a...
``` swift package clean swift run hc test.hylo ``` produces ``` warning: 'hc': found 4 file(s) which are unhandled; explicitly declare them as resources or exclude from the target warning:...
These are just some things I noticed; I haven't done a full review. [this one](https://github.com/hylo-lang/hylo/blame/230560c3ee8bf98ad76c48ea28f98dbd2b27a3b0/Sources/FrontEnd/TypeChecking/TypeChecker.swift#L494-L496) is wordy and hard to understand. What can we do to make it cleaner? Also...