Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 6758 | Kartik Agaram | 2020-09-07 | 2 | -14/+30 |
| | |||||
* | 6757 | Kartik Agaram | 2020-09-07 | 1 | -2/+3 |
| | |||||
* | 6756 | Kartik Agaram | 2020-09-07 | 1 | -1/+29 |
| | |||||
* | 6755 | Kartik Agaram | 2020-09-07 | 1 | -82/+95 |
| | |||||
* | 6754 | Kartik Agaram | 2020-09-07 | 2 | -6/+13 |
| | |||||
* | 6753 | Kartik Agaram | 2020-09-07 | 2 | -57/+126 |
| | |||||
* | 6752 | Kartik Agaram | 2020-09-07 | 2 | -24/+26 |
| | |||||
* | 6751 | Kartik Agaram | 2020-09-07 | 4 | -25/+93 |
| | | | | | More copypasta. I'd be able to remove this duplication if we had first-class functions, but they involve an accessibility cost. | ||||
* | 6750 | Kartik Agaram | 2020-09-07 | 2 | -58/+15 |
| | |||||
* | 6749 - plumb screen through in a few places | Kartik Agaram | 2020-09-07 | 1 | -25/+25 |
| | |||||
* | 6748 - promote browser prototype an app with tests | Kartik Agaram | 2020-09-07 | 5 | -183/+498 |
| | | | | Now that we have a fake screen we can start testing it. | ||||
* | 6747 | Kartik Agaram | 2020-09-07 | 1 | -3/+3 |
| | |||||
* | 6746 | Kartik Agaram | 2020-09-07 | 38 | -15685/+16856 |
| | |||||
* | 6745 | Kartik Agaram | 2020-09-07 | 1 | -8/+300 |
| | | | | So copypasta, much wow. | ||||
* | 6744 | Kartik Agaram | 2020-09-07 | 1 | -10/+83 |
| | |||||
* | 6743 | Kartik Agaram | 2020-09-07 | 1 | -4/+6 |
| | |||||
* | 6742 - support for formatting in fake screens | Kartik Agaram | 2020-09-07 | 8 | -10/+240 |
| | | | | | We still need a few primitives, but we can implement these as needed. I'm ready to call the fake screen done. | ||||
* | 6741 - fake screen now scrolls correctly | Kartik Agaram | 2020-09-06 | 1 | -10/+73 |
| | |||||
* | 6740 | Kartik Agaram | 2020-09-06 | 1 | -0/+19 |
| | |||||
* | 6739 | Kartik Agaram | 2020-09-06 | 1 | -9/+3 |
| | |||||
* | 6738 | Kartik Agaram | 2020-09-06 | 1 | -5/+17 |
| | |||||
* | 6737 | Kartik Agaram | 2020-09-06 | 2 | -10/+133 |
| | |||||
* | 6736 | Kartik Agaram | 2020-09-02 | 1 | -13/+13 |
| | |||||
* | 6735 - print unicode string to fake screen | Kartik Agaram | 2020-09-02 | 1 | -0/+29 |
| | |||||
* | 6734 - first test for text-mode screen primitives | Kartik Agaram | 2020-09-02 | 1 | -4/+37 |
| | |||||
* | 6733 - read utf-8 'grapheme' from byte stream | Kartik Agaram | 2020-08-28 | 16 | -1/+189 |
| | | | | | | No support for combining characters. Graphemes are currently just utf-8 encodings of a single Unicode code-point. No support for code-points that require more than 32 bits in utf-8. | ||||
* | 6732 | Kartik Agaram | 2020-08-28 | 1 | -2/+2 |
| | |||||
* | 6731 | Kartik Agaram | 2020-08-28 | 2 | -3/+3 |
| | |||||
* | 6730 | Kartik Agaram | 2020-08-28 | 1 | -2/+2 |
| | |||||
* | 6729 | Kartik Agaram | 2020-08-28 | 1 | -19/+25 |
| | |||||
* | 6728 - new skeleton for screen primitives | Kartik Agaram | 2020-08-22 | 1 | -1/+132 |
| | | | | Finally this compiles. | ||||
* | 6727 - bugfix in a multiply instruction | Kartik Agaram | 2020-08-22 | 5 | -6/+10 |
| | | | | Also more error-detection for this case all across the toolchain. | ||||
* | 6726 | Kartik Agaram | 2020-08-22 | 2 | -2/+2 |
| | |||||
* | 6725 - support negative literals | Kartik Agaram | 2020-08-22 | 2 | -9/+27 |
| | |||||
* | 6724 | Kartik Agaram | 2020-08-22 | 12 | -18009/+19237 |
| | |||||
* | 6723 | Kartik Agaram | 2020-08-22 | 1 | -3/+4 |
| | |||||
* | 6722 | Kartik Agaram | 2020-08-22 | 2 | -24/+123 |
| | |||||
* | 6721 | Kartik Agaram | 2020-08-22 | 1 | -1/+2 |
| | |||||
* | 6720 | Kartik Agaram | 2020-08-22 | 39 | -106/+106 |
| | |||||
* | 6719 - error-checking for 'index' instructions | Kartik Agaram | 2020-08-21 | 13 | -5/+1219 |
| | | | | | | | | 1000+ LoC spent; just 300+ excluding tests. Still one known gap; we don't check the entirety of an array's element type if it's a compound. So far we just check if say both sides start with 'addr'. Obviously that's not good enough. | ||||
* | 6718 | Kartik Agaram | 2020-08-16 | 3 | -0/+14 |
| | |||||
* | 6717 | Kartik Agaram | 2020-08-15 | 2 | -0/+82 |
| | |||||
* | 6716 | Kartik Agaram | 2020-08-15 | 12 | -21538/+22310 |
| | |||||
* | 6715 | Kartik Agaram | 2020-08-03 | 2 | -0/+7 |
| | | | | | | | | | | | | | | | | | | | | | | | There's a question of how we should match array types with a capacity on ones without. For now we're going to do the simplest possible thing and just make type-match? more robust. It'll always return false if the types don't match exactly. For ignoring capacity we'll rely on the checks of the `address` operation (which don't exist yet). This means we should do this to pass an address to an array to a function f with signature `f (addr array int)`: var a: (array int 3) var b/eax: (addr array int) <- address a f b rather than this: var a: (array int 3) var b/eax: (addr array int 3) <- address a f b Similar reasoning applies to stream types. Arrays and streams are currently the only types that can have an optional capacity. | ||||
* | 6714 | Kartik Agaram | 2020-08-02 | 1 | -0/+3 |
| | |||||
* | 6713 - move-cursor on fake screen | Kartik Agaram | 2020-08-02 | 1 | -0/+9 |
| | |||||
* | 6712 - new prototype with cleaner box shapes | Kartik Agaram | 2020-08-02 | 1 | -0/+437 |
| | |||||
* | 6711 | Kartik Agaram | 2020-08-02 | 1 | -21/+0 |
| | |||||
* | 6710 - utf-8 encoding | Kartik Agaram | 2020-08-02 | 1 | -54/+34 |
| | | | | | | | | | | | | | | | | Example program: fn main -> r/ebx: int { var x/eax: code-point <- copy 0x2192 # unicode character 'rightwards arrow' print-code-point 0, x print-string 0, "\n" r <- copy 0 } Run: $ ./translate_mu x.mu && ./a.elf → $ | ||||
* | snapshot: encoding code-points to utf-8 | Kartik Agaram | 2020-08-02 | 2 | -0/+183 |
| | | | | | I have it partly working, but just realized I've been reversing the output bytes. |