Skip to content
This repository has been archived by the owner on Feb 18, 2025. It is now read-only.

WIP: ASI #74

Closed
wants to merge 35 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
6d83a94
lang: allow `=` for function definitions
soc Aug 23, 2022
adbb492
lang: unified condition expressions
soc Aug 22, 2022
91ee7df
lang: implement named arguments
soc Sep 5, 2022
a8c3281
add additional test for multiple method candidates error
soc Oct 17, 2020
d25deb8
x64: use shift instructions that don't set flags where available
soc Sep 24, 2022
103c80b
x86: add intrinsic for total order comparison on floating point types
soc Sep 28, 2022
48f1363
build: do not call arm64 compilation "test"
soc Sep 29, 2022
e92dc57
drop compiler written in Dora
soc Oct 8, 2022
42b1e90
runtime: string hash caching
soc Sep 24, 2022
d005538
lang: drop `break` and `continue`
soc Oct 10, 2022
b8dc4fb
lang: drop procedure syntax, require result type for functions
soc Oct 23, 2022
0491099
lang: drop `%` operator, rename function from `modulo` to `remainder`
soc Oct 26, 2022
c606490
lang: change numeric literal separator from `_` to `'`
soc Oct 29, 2022
7e72120
stdlib: add `all`, `any`, `each`, `flatMap`, `flatten`, `map`, `rejec…
soc Oct 29, 2022
763708c
stdlib: `Option` implements `Equals`, `Hash` and `Stringable`
soc Oct 29, 2022
90fa05d
stdlib: change `Result[V, E]` to `Result[T, E]`
soc Oct 30, 2022
71d861c
stdlib: add `all`, `any`, `each`, `flatMap`, `map`, `reject`, `retain…
soc Oct 30, 2022
e062836
stdlib: `Result` implements `Equals`, `Hash` and `Stringable`
soc Oct 30, 2022
eaddb30
lang: require result type in lambda expressions
soc Oct 31, 2022
17a0cf1
stdlib: rename `Vec` and friends to `List`
soc Nov 2, 2022
7c1fb09
stdlib: add `all`, `any`, `each` to `Array` and `List`
soc Nov 5, 2022
304f1ab
stdlib: add `map` to `Array` and `List`
soc Nov 5, 2022
ae2cabc
stdlib: add `retain`, `reject` to `Array` and `List`
soc Nov 5, 2022
4d35f55
stdlib: rename `ArrayIter` to `ArrayIterator`
soc Nov 5, 2022
9fcfd5f
stdlib: add `ArrayIteratorReverse`
soc Nov 5, 2022
e3c3300
stdlib: rename `Int32RangeIter` to `Int32RangeIterator`
soc Nov 5, 2022
44bcb79
stdlib: rename `HashMapIter` to `HashMapIterator`
soc Nov 5, 2022
062482b
stdlib: rename `makeIterator`/`makeReverseIterator` to `iterator`/`it…
soc Nov 5, 2022
28c1ee8
lang: replace `let mut` with `var`, remove mutable function parameters
soc Nov 6, 2022
8d22413
dep: update third-party dependencies
soc Nov 8, 2022
23095dd
lang: drop `->` operator
soc Nov 11, 2022
4cb7691
stdlib: use more unified condition expressions
soc Nov 11, 2022
c7ec0ff
lang: add lookahead to lexer to support semicolon inference
soc Nov 15, 2022
9d92cc5
comp: print type when dumping AST
soc Nov 15, 2022
95390e2
WIP: ASI
soc Nov 14, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ jobs:
# - name: ASAN Tests Release
# run: ruby tools/tester.rb --binary=target/x86_64-unknown-linux-gnu/release/dora --env ASAN_OPTIONS=detect_leaks=1

test-arm64:
name: test arm64
compile-arm64:
name: compile arm64
runs-on: ubuntu-latest
steps:
- name: Clone repository
Expand Down
133 changes: 87 additions & 46 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions bench/alloc/alloc.dora
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
fun main() {
fun main(): Unit {
let threads = argv(0).toInt().getOrPanic();

let mut i = 0;
var i = 0;

while i < threads {
let thread = MyThread();
Expand All @@ -11,15 +11,15 @@ fun main() {
}

class MyThread() extends Thread {
@override fun run() {
@override fun run(): Unit {
allocator();
}
}

fun allocator() {
let mut i = 0;
fun allocator(): Unit {
var i = 0;

while i < 20_000_000 {
while i < 20'000'000 {
Foo();
i = i + 1;
}
Expand Down
Loading