profile
viewpoint
Kartik Agaram akkartik San Francisco akkartik.name/about Working on ways to write software that make it easier for newcomers to understand rather than for insiders to maintain.

akkartik/mu 709

Soul of a tiny new machine. More thorough tests → More comprehensible and rewrite-friendly software → More resilient society.

akkartik/am-utexas 42

Reimplementation of Doug Lenat's Automated Mathematician by Bruce Porter's group at the University of Texas at Austin

akkartik/spew 19

UI-less firefox extension feedreader

akkartik/arc 13

Experimental fork of http://arclanguage.org, primarily for keyword args and generic functions

akkartik/brooks-ruby-warrior 7

ruby-warrior AI inspired by roboticist Rodney Brooks

akkartik/crenshaw 3

https://compilers.iecc.com/crenshaw

akkartik/mu1 2

Prototype tree-walking interpreter back when Mu was a high-level statement-oriented language, c. 2018

akkartik/facebook-group-search 1

Export and make searchable your Facebook group

akkartik/mu0 1

Prototype of Mu c. 2015 written in Arc

akkartik/newsflash 1

Feedreader with a flashcard interface

push eventakkartik/mu

Kartik Agaram

commit sha 04d06dfe537703885ae30230940e5756fecdcb19

6831 - tile: preserve color contrast Formula from Chris Maughan: (0.2126*R + 0.7152*G + 0.0722*B) > 0.5

view details

push time in 3 hours

push eventakkartik/mu

Kartik Agaram

commit sha a4f5e386951ff175e0fda97b9e2079a2bc6e171c

6830 - tile: hash bg rather than fg color

view details

push time in 6 hours

push eventakkartik/mu

Kartik Agaram

commit sha d3876066178aecf2d2247368fffbb18872a07e88

6823 - tile: clear colors; we'll try something new

view details

Kartik Agaram

commit sha ce1b997619915f836901586d7d935bc6b2e996b9

6824 - tile: gap in column width computation

view details

Kartik Agaram

commit sha 4c363e6e4931e238cfb351b999ed711dc730581f

6825 - tile: stop rendering the final word, in case it's incomplete

view details

Kartik Agaram

commit sha f8104b38dc0f0c6e731ba218268c3fce10737d93

6826 - tile: indent columns compared to their final word

view details

Kartik Agaram

commit sha a71e5326bd6651553251802a96563a78188d3652

6827 - tile: make top of stack line up Idea from the Future of Software group. I was resistant for several days, because stacks should grow up, and because it didn't seem like a problem that the first column's result grew farther and farther away from its input. But eventually I noticed that the final result can also be arbitrarily far below, which seems more serious. This approach also has the salubrious effect of not requiring the precomputation of max-depth.

view details

Kartik Agaram

commit sha 2404478a7f08500176f128a332fce6e8eae67322

6828

view details

Kartik Agaram

commit sha e655f673b5e1b421fbafe45f91e96ba6a7de4cfe

6829 - tile: colorize values on the stack

view details

push time in 6 hours

push eventakkartik/mu

Kartik Agaram

commit sha ad35aef12a26805dc2067f6562ebfd3c13d7892e

6822

view details

push time in 2 days

push eventakkartik/mu

Kartik Agaram

commit sha 3dfebacf4c4f0c05f6a8749fbe736fe2d9740110

6818 - color top of stack Suggestion from the Future of Software group (https://futureofcoding.slack.com/archives/C0120A3L30R/p1600591669008700?thread_ts=1600587602.007800)

view details

Kartik Agaram

commit sha 4625b2e280fb8f57a58b3f452f815976fab0cd07

6819

view details

Kartik Agaram

commit sha a1ae40403df306a6bfd026493303ff2aac84d48b

6820

view details

Kartik Agaram

commit sha 022595a20a66d09a1e1a9e0c0a7d9eb07b4e863f

6821 - highlight words clobbered by the next word Another suggestion from the Future of Software forum.

view details

push time in 2 days

push eventakkartik/mu

Kartik Agaram

commit sha a437a9d6a09d9da12d5d33af3f3c264f52b5cb62

6817

view details

push time in 2 days

push eventakkartik/mu

Kartik Agaram

commit sha ecb9ac7bd82e6a1c77ef8cf7700fd0722870bea6

6805

view details

Kartik Agaram

commit sha 72e8240a23da7b82893d6b4e7ed3337ca0827049

6806 - tile: place-holder for bottom of stack

view details

Kartik Agaram

commit sha 8e4b4f2013b3f347e84398c70eabab60f6edd625

6807 - tile: render intermediate stack state

view details

Kartik Agaram

commit sha 86a124769dcc2e94a452595cc80cc1debb63383c

6808

view details

Kartik Agaram

commit sha a085820e215614e35accbf4651407f433adf1fda

6809

view details

Kartik Agaram

commit sha 4449f4878138e2d7baa2b227098e2d03d0342f39

6810 - tile: adaptive column widths

view details

Kartik Agaram

commit sha f32e575e387859af74f7023f9f02b32dee839962

6811 - tile: left-cursor movement Displayed cursor position is not yet correct, but insertions happen at the right cursor position.

view details

Kartik Agaram

commit sha 1436f0298f4c6b9a141a4f23fb89f5c00e98175d

6812 - tile: render cursor location

view details

Kartik Agaram

commit sha e43ff485e6fcff8cbf004d8db00c489a60437094

6813 - tile: right-cursor is now easy

view details

Kartik Agaram

commit sha 593b95246c971bce26650141a7e3a0502c4abedb

6814 - tile: backspace deletes char or word

view details

Kartik Agaram

commit sha 6413032997ed0b33ee87fca915dbfd3110aeb2f9

6815 - tile: get actual calculations working

view details

Kartik Agaram

commit sha 0e86b32a5e7cc5408e640d9369c0dde057dff411

6816 - tile: inserting new words

view details

push time in 2 days

push eventakkartik/mu

Kartik Agaram

commit sha c9093dbb083f4d96b985d87a526ac16cf9ab54a2

6800

view details

Kartik Agaram

commit sha a0deaa1cb1920339b0e10cb53c8806c35ed94445

6801 - snapshot: RPN structured editor There's some worrisome memory corruption here between the call to max-stack-depth and the callee picking up its args. All this code is incredibly ugly as I start to wrestle with the challenges of structured editors. I keep wanting to keep business logic separate from rendering, but there are feedback loops from wanting to know where to render the cursor. And I haven't even started trying to avoid full-screen renders yet. That'll complect things even more. For now the data path for every iteration of the render loop is: process key compute max depth needed (or any other global information needed for rendering) render

view details

Kartik Agaram

commit sha a83cde9663a639593334ef8220db4428e7a047c7

6802 - plug a gaping hole in the Mu translator This issue hasn't been noticed until now because I haven't been using variables on the stack much.

view details

Kartik Agaram

commit sha abfd0bad29b2a481583207d17f7bd1ebe2ffc2f5

6803 - RPN: typing a single word now works

view details

Kartik Agaram

commit sha a553a5e201b347f4ecc5f0fd9956fb083f941c86

6804 - tile: render all words

view details

push time in 2 days

push eventakkartik/mu

Kartik Agaram

commit sha 47821f1bddd6b5401b36e08043f28c6dd63e4ae4

6797

view details

Kartik Agaram

commit sha 3b928346b895086cd61f8429f54b3c733daab60d

6798 Simplify the app for now. I'm not actually sure what sort of language I want to create here. So let's not get ahead of ourselves inventing a whole new grid model and everything.

view details

Kartik Agaram

commit sha 469259657b7fc309f4edeab4fda6d93779babfe2

6799

view details

push time in 3 days

push eventakkartik/mu

Kartik Agaram

commit sha 7ecfd5eba9d9f45a2ccd5237bd68d8b24b26978b

6796 Extremely hacky initial stab at a 1-line editor.

view details

push time in 5 days

push eventakkartik/mu

Kartik Agaram

commit sha c0ea27e40eeb57d6b414735239a10a3804769aeb

6784

view details

Kartik Agaram

commit sha d165ccc377745d2a0e85f32d7a7640a92d01eac3

6785

view details

Kartik Agaram

commit sha 1f2ebeb44f3b0ddf93d7955378b829f2b7b6c2c7

6786

view details

Kartik Agaram

commit sha fecb649b9ac20397f8eec017be63864db4e571bb

6787

view details

Kartik Agaram

commit sha 985e85cc56cd8099a04b46bf0e5a2d2ca521e862

6788

view details

Kartik Agaram

commit sha 5029dac235741025ccec7d2c3d5609724cb14525

6789 - tile: print keystrokes to screen

view details

Kartik Agaram

commit sha f4fb198af313a3a30400ba1a51e0f0425b1da0ca

6790 experiment: explicit flush tile is already visibly slow (49x212 screen) :/ So programmer needs more control over performance. But this may not be the right approach. That extra flush-stdout in tui.mu suggests it's either going to be finicky, or we have to flush on every attribute change. And going through a buffered-file may be slower. May.

view details

Kartik Agaram

commit sha 9f8f2731dfd722f06b0a7f4797e775c9f49bc37b

6791 Yeah, this isn't working.

view details

Kartik Agaram

commit sha 9b873e3bcddf34d5b6d60e66838d71dd46de51f4

6792 Roll back all buffering of Stdout.

view details

Kartik Agaram

commit sha 797c93e054d210a6d595f0b57fd3d9adb9669d8c

6793

view details

Kartik Agaram

commit sha e403d15732e62fc9f1940ef14dc3b46bb11f5201

6794 - cleaner interface for keyboard So far I've been assuming that read-key only works for ascii, and that I'd need to get more sophisticated both for multi-byte utf-8 and multi-byte terminal escape codes like arrow keys. Rather to my surprise, both work fine. We just need to adjust the types to reflect this fact.

view details

Kartik Agaram

commit sha deda3f49cf89c80af2d910a080576906965f0395

6795 Fix CI since commit 6787.

view details

push time in 5 days

push eventakkartik/mu

Kartik Agaram

commit sha 37fd51f75443accaeb37f9dfbd9bc7fa175cb0b1

6783 An extra test that should have been in commit 6781.

view details

push time in 6 days

push eventakkartik/mu

Kartik Agaram

commit sha 6b41ca6d95bf6dbafab3fdc85d7355ac8b365931

6777 Print answers in decimal in apps/arith.mu

view details

Kartik Agaram

commit sha ad1e53df8b525f55d28f295ac9212d08af4dca90

6778

view details

Kartik Agaram

commit sha abfdaf58bbe88900ba5231f4e9b22efeed31d133

6779 Looks like Linux turns reads from stdout/stderr into stdin!

view details

Kartik Agaram

commit sha 8815cf7d57e738731dfc43680b4eccbaef9d822c

6780

view details

Kartik Agaram

commit sha ae470b42f102d5da4f7d4255a47e3cf582079f33

6781 - new app: RPN (postfix) calculator This was surprisingly hard; bugs discovered all over the place.

view details

Kartik Agaram

commit sha ccbda3fffdaa312371d6200ab91c2abdc39e5b87

6782 Regression: segfault on `fn foo` without a block I really need to turn the list of scenarios considered before populate-mu-function-header into tests.

view details

push time in 6 days

push eventakkartik/mu

Kartik Agaram

commit sha 40d40b83decac3d4f9a3da2dc222d19d1ab704f1

6776 - new app: a programming environment This will take a while.

view details

push time in 9 days

push eventakkartik/mu

Kartik Agaram

commit sha e99f527da03b1b1556af2f01e16ad3e6c0f37f8c

6775

view details

push time in 10 days

push eventakkartik/mu

Kartik Agaram

commit sha a03daa83f59fa22a0d5a7857767ba03e3d2909a5

6770

view details

Kartik Agaram

commit sha 9818804c1f635ccad8b13025038212b22bb08f6a

6771 - first passing test for the browser itself In the process I had to go back and redo the `done-drawing?` logic everywhere.

view details

Kartik Agaram

commit sha 13cbff7589c95a21bf69bc93dbe605db063087bc

6772 - test for markdown headers

view details

Kartik Agaram

commit sha 3a4be20aba860bb62db3271b8e157bcc807514b0

6773 - markdown browser now seems fully tested

view details

Kartik Agaram

commit sha 91a5f3e10300fd84db26690095329592de0942d7

6774

view details

push time in 11 days

push eventakkartik/mu

Kartik Agaram

commit sha 492fb2783f3a72770359a252ffcefbf43c5d57ea

6769 - support for creating fake files in Mu tests

view details

push time in 11 days

push eventakkartik/mu

Kartik Agaram

commit sha 4eedb6803a75dd2623cb8ef506abd4e32053af8b

6763

view details

Kartik Agaram

commit sha 282e3277744467197668b04ca69eb92c77ca2f8d

6764

view details

Kartik Agaram

commit sha 20b159420607a01c732f0f821730870f97eccc8e

6765 Starting to gain confidence.

view details

Kartik Agaram

commit sha 1aa476634dbbe28f0a9333abc291efc1a338e6a5

6766

view details

Kartik Agaram

commit sha 1ef8d4dba7913380a6e2d2f215230ac4b2c2f9d6

6767

view details

Kartik Agaram

commit sha 094b33c107bcb981adb45ffee85bb753e179de13

6768 - better error messages when checking screen state

view details

push time in 11 days

push eventakkartik/mu

Kartik Agaram

commit sha 3f4aedd8c936adf84113f8be06245f0220bf3015

6762

view details

push time in 12 days

push eventakkartik/mu

Kartik Agaram

commit sha 6b36e4dbc7749addeebe523992e0bcb62ad6b2d5

6760 Fix a couple of subtle bugs. - the VM was conditionally reading from the instruction stream, so that other bugs got masked by decoding errors. - push-n-bytes was clobbering eax.

view details

Kartik Agaram

commit sha 8617fa2ff88277476e5d8e547070aac438ba6666

6761

view details

push time in 13 days

push eventakkartik/mu

Kartik Agaram

commit sha 35791408748afcf3a461f65f897f7f491e6a7f40

6754

view details

Kartik Agaram

commit sha 485228ed727ae3b743514e89bd5f4ad5f8c69ea0

6755

view details

Kartik Agaram

commit sha 8aa1b8d45e99f16dda6bafc85386d05404bd3aee

6756

view details

Kartik Agaram

commit sha 571ff107a26a2bc1932ec9dc0d62365f99e385f9

6757

view details

Kartik Agaram

commit sha 8c9b8e8f77df88f1fb12339c5d548ae973f0fbde

6758

view details

Kartik Agaram

commit sha d9a05dfbb7ac73b31b1f3c1fb36a5324243da8a2

6759 - first test for app/browse/

view details

push time in 14 days

push eventakkartik/mu

Kartik Agaram

commit sha 83fc84ee0d2137c4ae1f68312c7db2962a92b521

6748 - promote browser prototype an app with tests Now that we have a fake screen we can start testing it.

view details

Kartik Agaram

commit sha dce4efd268b9080d4e29b34699b83a124dfcfb0e

6749 - plumb screen through in a few places

view details

Kartik Agaram

commit sha 137cde5bfae7104c97b0f48277480eb78ced4ff1

6750

view details

Kartik Agaram

commit sha fc42975cf429a75f15b079d9d0d216311b42f7a9

6751 More copypasta. I'd be able to remove this duplication if we had first-class functions, but they involve an accessibility cost.

view details

Kartik Agaram

commit sha 664910816ce599adf4bbb5ce842424c49ec70359

6752

view details

Kartik Agaram

commit sha bebb90a2ee96511155155df6ece60950077d3a4c

6753

view details

push time in 14 days

push eventakkartik/mu

Kartik Agaram

commit sha 68df24fa778f7f5a2651a4623681f38dc920c490

6746

view details

Kartik Agaram

commit sha c38a3de14df200051844259e6ce556dff63bc6d7

6747

view details

push time in 14 days

push eventakkartik/mu

Kartik Agaram

commit sha b43268969064760e7c6d7c58809bc55df0388917

6743

view details

Kartik Agaram

commit sha 31aa22c18825ac01f61e9d7f190564f643a34c33

6744

view details

Kartik Agaram

commit sha a0430d580719fc0fbe1fe0c92de2ec412245762c

6745 So copypasta, much wow.

view details

push time in 14 days

push eventakkartik/mu

Kartik Agaram

commit sha 5462619d963ca8606c03812b1d8d614bb7e0462c

6742 - support for formatting in fake screens We still need a few primitives, but we can implement these as needed. I'm ready to call the fake screen done.

view details

push time in 15 days

startedcmaughan/zep

started time in 15 days

push eventakkartik/mu

Kartik Agaram

commit sha 742bbf27f7ac4b001744b991ffbf95df84344886

6737

view details

Kartik Agaram

commit sha eaf95be10124f2a6e264640a178b2afa7c495d3e

6738

view details

Kartik Agaram

commit sha 454e345e498d6340833c9f8ad881e5baf796f3a6

6739

view details

Kartik Agaram

commit sha 05b9b2ab9c89652b845e0f89bd87b2d56b961822

6740

view details

Kartik Agaram

commit sha 9f293fef05217b9d7aabe7f697022145ada5bf47

6741 - fake screen now scrolls correctly

view details

push time in 15 days

push eventakkartik/mu

Kartik Agaram

commit sha 6c5481413161163abcf31383df3885f582675cf3

6734 - first test for text-mode screen primitives

view details

Kartik Agaram

commit sha 150f2bce23d5d9d76f998fe4a7ec0d4b21164e3b

6735 - print unicode string to fake screen

view details

Kartik Agaram

commit sha 58a70a38cfa17d917fa701dfa9704ef47489d09a

6736

view details

push time in 19 days

startednakst/flip

started time in 23 days

push eventakkartik/mu

Kartik Agaram

commit sha ddea9a73e28b07bca6da9e5dc0a099527b590dec

6729

view details

Kartik Agaram

commit sha 34ac52cb437a0b15b78a887c9f14857af06961a9

6730

view details

Kartik Agaram

commit sha d07dfdd40ce5359dcc9173708dcf97b44de0af0c

6731

view details

Kartik Agaram

commit sha 392ebcce803423631de77fdc85c837be636078bb

6732

view details

Kartik Agaram

commit sha cd94852dbc713ff38f38a30d6e5fb4675606823c

6733 - read utf-8 'grapheme' from byte stream 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.

view details

push time in 24 days

startedtsani/tetrefis

started time in a month

push eventakkartik/mu

Kartik Agaram

commit sha db894e7968808512392c46d62b2bee68b891db04

6726

view details

Kartik Agaram

commit sha 15b9880136b6b4754a6e6498c81932e553246d9f

6727 - bugfix in a multiply instruction Also more error-detection for this case all across the toolchain.

view details

Kartik Agaram

commit sha 6358afc5c1b4b3066c756716d30f9eaff8be63e1

6728 - new skeleton for screen primitives Finally this compiles.

view details

push time in a month

push eventakkartik/mu

Kartik Agaram

commit sha ef8e98dd062473e3dff77a4a576c6078a9a3d028

6725 - support negative literals

view details

push time in a month

push eventakkartik/mu

Kartik Agaram

commit sha 66daf3cc1f479300cf3e58278a1167bd862d855a

6720

view details

Kartik Agaram

commit sha db541c3595d52e3ff26d2714b70834219047f256

6721

view details

Kartik Agaram

commit sha 38128ae167351768900433e6f3434a85adc81386

6722

view details

Kartik Agaram

commit sha 426fcd3ec3b3891a0670c20cae9bd342184719b4

6723

view details

Kartik Agaram

commit sha 0361a76d86a38ca02778afc915d86c4ffa608bf7

6724

view details

push time in a month

push eventakkartik/mu

Kartik Agaram

commit sha e8ffaf29cea786e1c1266273c65bdb5eb42b39ab

6719 - error-checking for 'index' instructions 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.

view details

push time in a month

push eventakkartik/mu

Kartik Agaram

commit sha be2a94d9b82021109f3ef0510c3fc9cfe9537a29

6718

view details

push time in a month

delete branch akkartik/wart

delete branch : master

delete time in a month

create barnchakkartik/wart

branch : main

created branch time in a month

delete branch akkartik/mu

delete branch : master

delete time in a month

create barnchakkartik/mu

branch : main

created branch time in a month

push eventakkartik/mu

Kartik Agaram

commit sha 828bc32057511bc88bd651f2e7c9cf19706378d3

6716

view details

Kartik Agaram

commit sha 1a1ab91e7728e59305361dbf8b97030ded472ae5

6717

view details

push time in a month

push eventakkartik/mu

Kartik Agaram

commit sha 208b28303cc2fa55939b06b5effac1cbd69d6356

6715 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.

view details

push time in a month

push eventakkartik/mu

Kartik Agaram

commit sha 9ee9f37dc78430ca32e00d4d4223b178150c5fee

6708

view details

Kartik Agaram

commit sha ea2d44bdefef7ded28cc33dbb6ac85842dc6ca44

snapshot: encoding code-points to utf-8 I have it partly working, but just realized I've been reversing the output bytes.

view details

Kartik Agaram

commit sha ab445d6e7538538e1dc2e5b419b2d2727d0d096f

6710 - utf-8 encoding 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 → $

view details

Kartik Agaram

commit sha 2ab2af0c05111b5f5c7e665e1e17d6ae8c6a7a4b

6711

view details

Kartik Agaram

commit sha 03e4ff608b66ca0593a9adf4df5730484dc4e2c7

6712 - new prototype with cleaner box shapes

view details

Kartik Agaram

commit sha 75bdc0ad5b36307d5be4f5508c62ff382ac26c7e

6713 - move-cursor on fake screen

view details

Kartik Agaram

commit sha 672ea33132c3e1870fa50661ded468b1da4f1794

6714

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 7d33cce06956614cf4a4a01f4a362dc097eea647

6701

view details

Kartik Agaram

commit sha 1b79f705b9975a3293fd111c5dc129e887dc01c0

6702

view details

Kartik Agaram

commit sha 0452b05f5a78b33d94352c676e021b4a1abfb5f2

6703 - new types: code-point and grapheme Both have the same size: 4 bytes. So far I've just renamed print-byte to print-grapheme, but it still behaves the same. I'm going to support printing code-points next, but grapheme 'clusters' spanning multiple code-points won't be supported for some time.

view details

Kartik Agaram

commit sha 0a8e8f4e2fc1ffb20acab730fd38ad1510da1088

6704 This is stupid; all this while I've been writing escape sequences to the screen they've been going out on stderr.

view details

Kartik Agaram

commit sha 0f5d0ec519c5b6fbb36ace912426e6a3fb8aa8ec

6705 Another stupid bug: I've been printing out 3 nulls for every byte of ascii.

view details

Kartik Agaram

commit sha 89c9ed80f9f7f4d4d40fea44c6e08362cfde50c7

6706 - support utf-8 For example: fn main -> r/ebx: int { var x/eax: grapheme <- copy 0x9286e2 # code point 0x2192 in utf-8 print-grapheme-to-real-screen x print-string-to-real-screen "\n" } Graphemes must fit in 4 bytes (21 bits for code points). Unclear what we should do for longer clusters since graphemes are a fixed-size type at the moment.

view details

Kartik Agaram

commit sha ecc31a492825cd2e6ac5d64ee0a9cd22d248e83c

6707

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 6b343a82f29b6dea219504504244591c3042df43

6699 - start building out fake screen We now have all existing apps and prototypes going through the dependency-injected wrapper, even though it doesn't actually implement the fake screen yet.

view details

Kartik Agaram

commit sha 902b4084af04a7bcf36a6a9971b4661bd97c2139

6700 - clear fake screen One thing I hadn't realized in all my hacking on the mu1 prototype: clear-screen doesn't modify active attributes. It's equivalent to printing spaces all over the screen with the current attributes.

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 59a2e363f5f818e3870a275efe375737a76009fa

6698

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha af983921f6c4170584d5e2a60e0c04556c3f621f

6697

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha d01d4f0c9faaa45117ae7eef0287c5872746b4d5

6696

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 7ad38707add62a7b328768c54b412547bed28448

6695

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 1694f9a3b5b43c2ea871271d77f74ccaa9606edb

6694

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 7fa80570a065353fad6d0698180e583e26a4c19e

6693

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 5c058ad6278a373a1ad0e251966447c8c6c86547

6692

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha a0da3604a2da396ac578accf32d4c3d39da7d0b0

6691 - start building a fake screen There was a bug in defining types containing other user-defined types.

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 90b374622cd7b6b0ed4cccbb96861d8f351a9adf

6690

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha de8ec47d608805dd2be6c6ba0a30eb45912e1cf3

6689 - some little white lies to GitHub

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha ca9455ba821c6de5cb685bc659151cbb29445a9f

6688

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha ca237761bf0f9b16838e2d3f7079d1725e3bd87b

6686

view details

Kartik Agaram

commit sha 30012350281844611bda2f4668f6a0b318a95b36

6687 - stream-empty? and stream-full?

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 9cbd4199f376fdccbf08bf2ac15b48c4310e36c4

6685

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha f7a90521d13e193dbddffae02d1eba6f729f6e59

6680

view details

Kartik Agaram

commit sha e2c22ad4d9cbc99f4f256559819650c4d74261af

6681

view details

Kartik Agaram

commit sha b8df5340fa55f79fd544ab130da4052ed88aca4f

6682 - experimental support for streams and slices Slices contain `addr`s so the same rules apply to them. They can't be stored in structs and so on. But they may be an efficient temporary while parsing. Streams are currently a second generic type after arrays, and gradually strengthening the case to just bite the bullet and support first-class generics in Mu.

view details

Kartik Agaram

commit sha 129bb8117b02956714c1be124c7ce0f27393726c

6683

view details

Kartik Agaram

commit sha bae22d720f6a6f3922c29cd7dc4218c7564bbed9

6684 - experimental primitives for streams This is a hacky special case. The alternative would be more general support for generics. One observation: we might be able to type-check some primitives using `sig`s. Only if they don't return anything, since primitives usually need to support arbitrary registers. I'm not doing that yet, though. It eliminates the possibility of writing tests for them in mu.subx, which can't see 400.mu. But it's an alternative: sig allocate out: (addr handle _) sig populate out: (addr handle array _), n: int sig populate-stream out: (addr handle stream _), n: int sig read-from-stream s: (addr stream _T), out: (addr _T) sig write-to-stream s: (addr stream _T), in: (addr _T) We could write the tests in Mu. But then we're testing behavior rather than the code generated. There are trade-offs. By performing type-checking in mu.subx I retain the option to write both kinds of tests.

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 437838b40d198a2ee5529c63719733da8d874414

6678

view details

Kartik Agaram

commit sha 44b1636e2d84bd9cedb4b3272460f67033778939

6679

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha ab8d4b593b5309af9106e75aac0401c8d01a55a7

6675

view details

Kartik Agaram

commit sha 2b1737363f88b61e6f07b368144096ff275c509a

6676 - type checks for 'lookup'

view details

Kartik Agaram

commit sha d8c2a0e704a7124cde4a99db72857c6be845bb33

6677 - prototype: spreadsheet for trees

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha bf0a6b69dcda5fcba5507399fbb78e656f049f98

6671 - bugfix in generic functions We need to remember to clear local variables. And there's a good question here of how Mu supports variables of type stream or table. Or other user-defined types that inline arrays.

view details

Kartik Agaram

commit sha 4dc20af1bf3bda78e9b7c28f354bc715c27339ed

6672 - error on addr or array inside type

view details

Kartik Agaram

commit sha cd07e9b22c969ec1c501f34698e25e9ccb765593

6673

view details

Kartik Agaram

commit sha de0e57d3ced985040cf31919a23d79fd7276f1f9

6674

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha ba4e33f711aae766f4469e6930fa7fcacb349cbb

tmp - snapshot of type-parameter support I think I've got all the stack management down. Time now for the business logic. There's one failing test.

view details

Kartik Agaram

commit sha 32055c369b9e7aeb211dbc92834fe5bcaa0540c6

6670 - generic functions Function signatures can now take type parameters starting with '_'. Type parameters in a signature match any concrete type in the call. But they have to be consistent within a single call. Things I considered but punted on for now: - having '_' match anything without needing to be consistent. Wildcards actually seem harder to understand. - disallowing top-level '_' types. I'll wait until a concrete use case for disallowing. We still don't support *defining* types with type parameters, so for now this is only useful for calling functions on arrays or streams or handles.

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha c9ea1bd55ad9f078630c2693b4cf007668eb1bfd

6663

view details

Kartik Agaram

commit sha 511844ffb9c196102961d80e95c751dc051f376b

6664

view details

Kartik Agaram

commit sha a4c31549f9555a673b804d9dfa21b8ebfd8862d0

6665

view details

Kartik Agaram

commit sha 39a4cbdf616cc6ddaa1612849a5c17f62ca546ae

6666 - types starting with '_' now match anything We still need to perform pattern matching.

view details

Kartik Agaram

commit sha 750f490b4d195259821e77ba23540ebd252f1af6

6667

view details

Kartik Agaram

commit sha 2a1b9d32d7bdeb2fe148f51e83bc28a68b23d431

6668 type-match? is no longer symmetric; we have to be careful about arg ordering.

view details

push time in 2 months

push eventakkartik/kernel

Doug Berger

commit sha d966d2efb643a8ba925e910bfc10e19c8b018de7

net: bcmgenet: use __be16 for htons(ETH_P_IP) The 16-bit value that holds a short in network byte order should be declared as a restricted big endian type to allow type checks to succeed during assignment. Fixes: 3e370952287c ("net: bcmgenet: add support for ethtool rxnfc flows") Reported-by: kbuild test robot <lkp@intel.com> Signed-off-by: Doug Berger <opendmb@gmail.com> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>

view details

Doug Berger

commit sha 20d1f2d1b024f6be199a3bedf1578a1d21592bc5

net: bcmgenet: use hardware padding of runt frames When commit 474ea9cafc45 ("net: bcmgenet: correctly pad short packets") added the call to skb_padto() it should have been located before the nr_frags parameter was read since that value could be changed when padding packets with lengths between 55 and 59 bytes (inclusive). The use of a stale nr_frags value can cause corruption of the pad data when tx-scatter-gather is enabled. This corruption of the pad can cause invalid checksum computation when hardware offload of tx-checksum is also enabled. Since the original reason for the padding was corrected by commit 7dd399130efb ("net: bcmgenet: fix skb_len in bcmgenet_xmit_single()") we can remove the software padding all together and make use of hardware padding of short frames as long as the hardware also always appends the FCS value to the frame. Fixes: 474ea9cafc45 ("net: bcmgenet: correctly pad short packets") Signed-off-by: Doug Berger <opendmb@gmail.com> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>

view details

David S. Miller

commit sha eb2932b00fc75a154bb4607773dc0666924116ad

Merge branch 'net-bcmgenet-use-hardware-padding-of-runt-frames' Doug Berger says: ==================== net: bcmgenet: use hardware padding of runt frames Now that scatter-gather and tx-checksumming are enabled by default it revealed a packet corruption issue that can occur for very short fragmented packets. When padding these frames to the minimum length it is possible for the non-linear (fragment) data to be added to the end of the linear header in an SKB. Since the number of fragments is read before the padding and used afterward without reloading, the fragment that should have been consumed can be tacked on in place of part of the padding. The third commit in this set corrects this by removing the software padding and allowing the hardware to add the pad bytes if necessary. The first two commits resolve warnings observed by the kbuild test robot and are included here for simplicity of application. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>

view details

Dave Airlie

commit sha 5b83c254571b26e6b6110019929dc9729e5c59d1

Merge tag 'amd-drm-fixes-5.8-2020-06-24' of git://people.freedesktop.org/~agd5f/linux into drm-fixes amd-drm-fixes-5.8-2020-06-24: amdgpu: - Fix missed mutex unlock in DC error path - Fix firmware leak for sdma5 - DC bpc property fixes amdkfd: - Fix memleak in an error path radeon: - Fix copy paste typo in NI DPM spll validation Signed-off-by: Dave Airlie <airlied@redhat.com> From: Alex Deucher <alexdeucher@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200624221207.17773-1-alexander.deucher@amd.com

view details

João H. Spies

commit sha 9fbbb7ddd96ed68e75a4e8f194225b5297f62bd4

MIPS: ingenic: gcw0: Fix HP detection GPIO. Previously marked as active high, but is in reality active low. Cc: stable@vger.kernel.org Fixes: b1bfdb660516 ("MIPS: ingenic: DTS: Update GCW0 support") Signed-off-by: João H. Spies <jhlspies@gmail.com> Tested-by: Paul Cercueil <paul@crapouillou.net> Reviewed-by: Paul Cercueil <paul@crapouillou.net> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>

view details

Veerendranath Jakkam

commit sha 0c1a7f13c9ec1ceb18d97ef4b1dd20ec71ffba31

ieee80211: Add missing and new AKM suite selector definitions Add the definitions for missing AKM selectors defined in IEEE P802.11-REVmd/D3.0, table 9-151. These definitions will be used by various drivers that support these new AKM suites. Signed-off-by: Veerendranath Jakkam <vjakkam@codeaurora.org> Link: https://lore.kernel.org/r/20200617113132.13477-1-vjakkam@codeaurora.org Signed-off-by: Johannes Berg <johannes.berg@intel.com>

view details

Markus Theil

commit sha 86a1b9d7c275a3dba69e7ab099f8d5f71f69f6a8

mac80211: fix control port tx status check The initial control port tx status patch assumed, that we have IEEE 802.11 frames, but actually ethernet frames are stored in the ack skb. Fix this by checking for the correct ethertype and skb protocol 802.3. Also allow tx status reports for ETH_P_PREAUTH, as preauth frames can also be send over the nl80211 control port. Fixes: a7528198add8 ("mac80211: support control port TX status reporting") Reported-by: Jouni Malinen <j@w1.fi> Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de> Reported-by: kernel test robot <lkp@intel.com> Link: https://lore.kernel.org/r/20200622123542.173695-1-markus.theil@tu-ilmenau.de Signed-off-by: Johannes Berg <johannes.berg@intel.com>

view details

Pavel Machek

commit sha 01da2e059dc326d02091a62b81a795a393e3719f

mac80211: simplify mesh code Doing mod_timer() conditionaly is easier than conditionally unlocking and jumping around... Signed-off-by: Pavel Machek (CIP) <pavel@denx.de> Acked-by: Linus Lüssing <ll@simonwunderlich.de> Link: https://lore.kernel.org/r/20200604214157.GA9737@amd Signed-off-by: Johannes Berg <johannes.berg@intel.com>

view details

Seevalamuthu Mariappan

commit sha 78fb5b541b7ae57ac39187ccb3097e606004cf9b

mac80211: Fix dropping broadcast packets in 802.11 encap Broadcast pkts like arp are getting dropped in 'ieee80211_8023_xmit'. Fix this by replacing is_valid_ether_addr api with is_zero_ether_addr. Fixes: 50ff477a8639 ("mac80211: add 802.11 encapsulation offloading support") Signed-off-by: Seevalamuthu Mariappan <seevalam@codeaurora.org> Link: https://lore.kernel.org/r/1591697754-4975-1-git-send-email-seevalam@codeaurora.org Signed-off-by: Johannes Berg <johannes.berg@intel.com>

view details

Markus Theil

commit sha 5af7fef39d7952c0f5551afa7b821ee7b6c9dd3d

mac80211: skip mpath lookup also for control port tx When using 802.1X over mesh networks, at first an ordinary mesh peering is established, then the 802.1X EAPOL dialog happens, afterwards an authenticated mesh peering exchange (AMPE) happens, finally the peering is complete and we can set the STA authorized flag. As 802.1X is an intermediate step here and key material is not yet exchanged for stations we have to skip mesh path lookup for these EAPOL frames. Otherwise the already configure mesh group encryption key would be used to send a mesh path request which no one can decipher, because we didn't already establish key material on both peers, like with SAE and directly using AMPE. Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de> Link: https://lore.kernel.org/r/20200617082637.22670-2-markus.theil@tu-ilmenau.de [remove pointless braces, remove unnecessary local variable, the list can only process one such frame (or its fragments)] Signed-off-by: Johannes Berg <johannes.berg@intel.com>

view details

Sumit Semwal

commit sha 4ab59c3c638c6c8952bf07739805d20eb6358a4d

dma-buf: Move dma_buf_release() from fops to dentry_ops Charan Teja reported a 'use-after-free' in dmabuffs_dname [1], which happens if the dma_buf_release() is called while the userspace is accessing the dma_buf pseudo fs's dmabuffs_dname() in another process, and dma_buf_release() releases the dmabuf object when the last reference to the struct file goes away. I discussed with Arnd Bergmann, and he suggested that rather than tying the dma_buf_release() to the file_operations' release(), we can tie it to the dentry_operations' d_release(), which will be called when the last ref to the dentry is removed. The path exercised by __fput() calls f_op->release() first, and then calls dput, which eventually calls d_op->d_release(). In the 'normal' case, when no userspace access is happening via dma_buf pseudo fs, there should be exactly one fd, file, dentry and inode, so closing the fd will kill of everything right away. In the presented case, the dentry's d_release() will be called only when the dentry's last ref is released. Therefore, lets move dma_buf_release() from fops->release() to d_ops->d_release() Many thanks to Arnd for his FS insights :) [1]: https://lore.kernel.org/patchwork/patch/1238278/ Fixes: bb2bb9030425 ("dma-buf: add DMA_BUF_SET_NAME ioctls") Reported-by: syzbot+3643a18836bce555bff6@syzkaller.appspotmail.com Cc: <stable@vger.kernel.org> [5.3+] Cc: Arnd Bergmann <arnd@arndb.de> Reported-by: Charan Teja Reddy <charante@codeaurora.org> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org> Tested-by: Charan Teja Reddy <charante@codeaurora.org> Link: https://patchwork.freedesktop.org/patch/msgid/20200611114418.19852-1-sumit.semwal@linaro.org

view details

Markus Theil

commit sha 0b467b63870d9c05c81456aa9bfee894ab2db3b6

mac80211: allow rx of mesh eapol frames with default rx key Without this patch, eapol frames cannot be received in mesh mode, when 802.1X should be used. Initially only a MGTK is defined, which is found and set as rx->key, when there are no other keys set. ieee80211_drop_unencrypted would then drop these eapol frames, as they are data frames without encryption and there exists some rx->key. Fix this by differentiating between mesh eapol frames and other data frames with existing rx->key. Allow mesh mesh eapol frames only if they are for our vif address. With this patch in-place, ieee80211_rx_h_mesh_fwding continues after the ieee80211_drop_unencrypted check and notices, that these eapol frames have to be delivered locally, as they should. Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de> Link: https://lore.kernel.org/r/20200625104214.50319-1-markus.theil@tu-ilmenau.de [small code cleanups] Signed-off-by: Johannes Berg <johannes.berg@intel.com>

view details

Sumit Garg

commit sha 9d71b344f86f4264a5fae43c997a630e93c0de9b

kdb: Re-factor kdb_printf() message write code Re-factor kdb_printf() message write code in order to avoid duplication of code and thereby increase readability. Signed-off-by: Sumit Garg <sumit.garg@linaro.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/1591264879-25920-2-git-send-email-sumit.garg@linaro.org Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>

view details

Sumit Garg

commit sha e8857288bb620d594c94a219148d18562e52b06e

kdb: Check status of console prior to invoking handlers Check if a console is enabled prior to invoking corresponding write handler. Suggested-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Signed-off-by: Sumit Garg <sumit.garg@linaro.org> Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/1591264879-25920-3-git-send-email-sumit.garg@linaro.org Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>

view details

Sumit Garg

commit sha 2a78b85b70f9c3d450619d369d349ba861320510

kdb: Make kdb_printf() console handling more robust While rounding up CPUs via NMIs, its possible that a rounded up CPU maybe holding a console port lock leading to kgdb master CPU stuck in a deadlock during invocation of console write operations. A similar deadlock could also be possible while using synchronous breakpoints. So in order to avoid such a deadlock, set oops_in_progress to encourage the console drivers to disregard their internal spin locks: in the current calling context the risk of deadlock is a bigger problem than risks due to re-entering the console driver. We operate directly on oops_in_progress rather than using bust_spinlocks() because the calls bust_spinlocks() makes on exit are not appropriate for this calling context. Suggested-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Signed-off-by: Sumit Garg <sumit.garg@linaro.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/1591264879-25920-4-git-send-email-sumit.garg@linaro.org Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>

view details

Marco Elver

commit sha acf7b0bf7dcf5a96d9b44a0997227c7210d995c1

kasan: Fix required compiler version The first working GCC version to satisfy CC_HAS_WORKING_NOSANITIZE_ADDRESS is GCC 8.3.0. Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89124 Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Marco Elver <elver@google.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lkml.kernel.org/r/20200623112448.GA208112@elver.google.com

view details

Peter Zijlstra

commit sha 734d099ba644f5a92c70efa3d54d0ba2500ce162

objtool: Don't consider vmlinux a C-file Avoids issuing C-file warnings for vmlinux. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lkml.kernel.org/r/20200618144801.701257527@infradead.org

view details

Peter Zijlstra

commit sha e3a9e681adb779b39565a28b3252c3be1033f994

x86/entry: Fixup bad_iret vs noinstr vmlinux.o: warning: objtool: fixup_bad_iret()+0x8e: call to memcpy() leaves .noinstr.text section Worse, when KASAN there is no telling what memcpy() actually is. Force the use of __memcpy() which is our assmebly implementation. Reported-by: Marco Elver <elver@google.com> Suggested-by: Marco Elver <elver@google.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Tested-by: Marco Elver <elver@google.com> Link: https://lkml.kernel.org/r/20200618144801.760070502@infradead.org

view details

Peter Zijlstra

commit sha c7aadc09321d8f9a1d3bd1e6d8a47222ecddf6c5

x86/entry: Increase entry_stack size to a full page Marco crashed in bad_iret with a Clang11/KCSAN build due to overflowing the stack. Now that we run C code on it, expand it to a full page. Suggested-by: Andy Lutomirski <luto@amacapital.net> Reported-by: Marco Elver <elver@google.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Lai Jiangshan <jiangshanlai@gmail.com> Tested-by: Marco Elver <elver@google.com> Link: https://lkml.kernel.org/r/20200618144801.819246178@infradead.org

view details

Peter Zijlstra

commit sha 145a773aef83181d47ebab21bb33c89233aadb1e

x86/entry: Fix #UD vs WARN more vmlinux.o: warning: objtool: exc_invalid_op()+0x47: call to probe_kernel_read() leaves .noinstr.text section Since we use UD2 as a short-cut for 'CALL __WARN', treat it as such. Have the bare exception handler do the report_bug() thing. Fixes: 15a416e8aaa7 ("x86/entry: Treat BUG/WARN as NMI-like entries") Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Andy Lutomirski <luto@kernel.org> Link: https://lkml.kernel.org/r/20200622114713.GE577403@hirez.programming.kicks-ass.net

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 01b72aa06487b6818bdaae2dc2eb16d0b3b2d7ee

6659 Tighten up some function signatures.

view details

Kartik Agaram

commit sha 97dbe33fd41ec089adbf10a8b1f90d4b86c2bacd

6660

view details

Kartik Agaram

commit sha 3a5512389ed0f545fff82723f16bdea69f2e4b85

6661

view details

Kartik Agaram

commit sha ac6af96c5ac2ad5295334f273003eb66807ec3eb

6662 - start support for generics Mu will be a language with generics -- but no static dispatch.

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 02b7f9bd89fcae62c118772b1eb907b6c93055f0

6658

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 0e38e7e8689001cb5af92b4ea3fff44fe45bf1e8

6651 baby steps: rendering a tree node with just one child

view details

Kartik Agaram

commit sha 93c94c6feef50033689756e0c40e20ab538ff360

6652 - function to divide whole numbers

view details

Kartik Agaram

commit sha e5f9d8123acd754662f723bdd5838eff74c56d48

6653 - render deeper trees with a single child Every time you press a key the depth increases by 1, and then the tree re-renders.

view details

Kartik Agaram

commit sha a3d6672bcafec1a2e95f2a21546dbe30ea1826df

6654

view details

Kartik Agaram

commit sha 0085782f1b9cb0975926a35e41d812016ac6681d

6655

view details

Kartik Agaram

commit sha 571dd3e23c2cfd4c3665c073a248cee4e1acd594

6656

view details

Kartik Agaram

commit sha 28b25a489338f31f291832e8dc94174619387e95

6657

view details

push time in 2 months

issue closedfpereiro/gotoB

Checkboxes in todoMVC example are not visible

I can click to the left of items to cross them out. But I can't see the checkboxes, on either Firefox or Chrome on Mac OS. Is this intentional?

Screen Shot 2020-07-12 at 8 11 27 PM

closed time in 2 months

akkartik

issue commentfpereiro/gotoB

Checkboxes in todoMVC example are not visible

Confirmed!

akkartik

comment created time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha fd100782cb99371e0836de603ba9552a5c8f389c

6649 Bit-shifts aren't quite right yet. We need to emit /imm8 rather than /imm32. This commit introduces the field, though we don't use it yet.

view details

Kartik Agaram

commit sha 8cc1ed72c3d1dbe318f57ca5ec33a18cdcd7fcf3

6650 - bit-shift operations really working test input: fn foo { var y/edx: int <- copy 0 y <- shift-left 2 y <- shift-right 2 y <- shift-right-signed 2 var x: int shift-left x, 2 shift-right x, 2 shift-right-signed x, 2 } output: foo: # . prologue 55/push-ebp 89/<- %ebp 4/r32/esp { $foo:0x00000001:loop: ff 6/subop/push %edx ba/copy-to-edx 0/imm32 c1/shift 4/subop/left %edx 2/imm8 c1/shift 5/subop/right-padding-zeroes %edx 2/imm8 c1/shift 7/subop/right-preserving-sign %edx 2/imm8 68/push 0/imm32 c1/shift 4/subop/left *(ebp+0xfffffff8) 2/imm8 c1/shift 5/subop/right-padding-zeroes *(ebp+0xfffffff8) 2/imm8 c1/shift 7/subop/right-preserving-sign *(ebp+0xfffffff8) 2/imm8 81 0/subop/add %esp 0x00000004/imm32 8f 0/subop/pop %edx } $foo:0x00000001:break: # . epilogue 89/<- %esp 5/r32/ebp 5d/pop-to-ebp c3/return test input 2: $ cat x.mu fn main -> o/ebx: int { o <- copy 3 o <- shift-left 2 } output 2: $ ./translate_mu x.mu $ ./a.elf $ echo $? 12

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 32b904728a71e7588e79fbddbcd370815883723b

6646 - in-progress prototype: tree editor

view details

Kartik Agaram

commit sha 42b0c1139c339c249e494219bc448d1ddd32438b

6647

view details

Kartik Agaram

commit sha ab26c894c889047305ad376ec644f32abe545cd2

6648 - bit-shift instructions in Mu I'm not happy with the names.

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 8c78c3eb48ec3a443643dd370d75211ffbf63894

6641

view details

Kartik Agaram

commit sha 6b8a3a94b1ae33fe053a13a4bbf96d9dc5eeb4b2

6642

view details

Kartik Agaram

commit sha e2b55208b22f3c97dfbc866d8d555b7a7c614632

6643

view details

Kartik Agaram

commit sha 4cb4d4d2d8002705c966ae7bed0b7332f4e21978

6644

view details

Kartik Agaram

commit sha 5e0ae917d07740b9a06f3255591245acfcd9389e

6645 - heap allocations in Mu - allocate var - populate var, n Both rely on the type of `var` to compute the size of the allocation. No need to repeat the name of the type like in C, C++ or Java.

view details

push time in 2 months

issue openedfpereiro/gotoB

Checkboxes in todoMVC example are not visible

I can click to the left of items to cross them out. But I can't see the checkboxes, on either Firefox or Chrome on Mac OS. Is this intentional?

Screen Shot 2020-07-12 at 8 11 27 PM

created time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 7817fdb29c46419e22ddcbd9f75a5be6308c9776

6640 Re-sync markdown files with mu-normie fork.

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha ac8b37f9a8fd653e25425b5a77a7457b9cc05547

6639

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha d23f5ea2c6cea902b4db342139616850ddec0a31

6634 - highlight bad variables in vim

view details

Kartik Agaram

commit sha 355073129b479efcb413e92b206b5fccf3834b03

6635 - bugfix

view details

Kartik Agaram

commit sha 5c86f9be66cc0411eeb1eef473958657ae214291

6636

view details

Kartik Agaram

commit sha 8bf95d294a7e74efd16311d926c6a2a8c1979052

6637 Be more consistent about what we interpret as integer literals.

view details

Kartik Agaram

commit sha 725a9579e98fa6bb70853ba9751be85632751aef

6638 - require '0x' prefix on multi-digit literals Mu exclusively uses hex everywhere for a consistent programming experience from machine code up. But we all still tend to say '10' when we mean 'ten'. Catch that early.

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 7b5ad6028ce8a3f3aa8184c5c3e6860008596dff

6633

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha efe641a030215d6d3795d5ef0c6fd304402da10b

6632

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 1c349ac7c571a97978e1cbbe726430ae9c741972

6631

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha 34dd228eb2706674f3ce06297997ce11f42768c8

6627

view details

Kartik Agaram

commit sha c1b6ecc87488ca534906ecf36a82dd57c8ac17fa

6628

view details

Kartik Agaram

commit sha 229d63aad2286135440fccc452e95e1cbb502318

6629

view details

Kartik Agaram

commit sha c5a3f65502d6931a5fb888a5c5327c0659578a57

6630 - define type signatures for SubX functions This was easier than I'd feared.

view details

Kartik Agaram

commit sha ec73ed1230d75deb0f913a32617c9f1e0a5ca640

6631

view details

push time in 2 months

push eventakkartik/mu

Kartik Agaram

commit sha f16f5690600ea74f2d77b72bf9167cf3a74c1d2e

6622 - new syscalls: time and ntime As a side-effect I find that my Linode can print ~100k chars/s. At 50 rows and 200 columns per screen, it's 10 frames/s.

view details

Kartik Agaram

commit sha 88aeadf3c69c228e8646142f9a08457211f92c16

6623

view details

Kartik Agaram

commit sha a3bfbb99f8076da0b0880cfcdde94b526c2d6f0a

6624

view details

Kartik Agaram

commit sha cb0a41f588d3953c38324ce9b9d3481aeb2236d2

6625

view details

Kartik Agaram

commit sha c532373e29928f1b8a2085038b000c3213ce4523

6626

view details

push time in 2 months

delete branch akkartik/ucisc-ruby

delete branch : master

delete time in 3 months

create barnchakkartik/ucisc-ruby

branch : trunk

created branch time in 3 months

push eventakkartik/ucisc-ruby

Robert Butler

commit sha 5813c82b8ab4d67ca9b3bd1c139a5370318885e2

Add automatic register variables

view details

Robert Butler

commit sha 200f96afa3f2eccb340201e9d0fcc5b9abe90a45

Move load/run to MicroCisc; add basic result tests

view details

Robert Butler

commit sha bff7df311a5d766a8bf0087628351691a778c73b

Fix gem dependencies in gemspec

view details

Robert Butler

commit sha de483c980645a316920677166659a03d208e8406

Fix bit width detection for signed immediate

view details

push time in 3 months

push eventakkartik/mu

Kartik Agaram

commit sha 3ae9d0ed54f7cd13a1672d0f5ae29d3f9baf4027

6621

view details

push time in 3 months

push eventakkartik/mu

Kartik Agaram

commit sha 8620c1edc329bb30e19419b55654b540712b6033

6620

view details

push time in 3 months

push eventakkartik/mu

Kartik Agaram

commit sha 55b9ef9a1fdc7724b1f8c5a054b04c0d028836d4

6619

view details

push time in 3 months

push eventakkartik/mu

Kartik Agaram

commit sha 9a524793ee01ce47f3963768559a0d6c348631c5

6618 - new docs

view details

push time in 3 months

delete branch akkartik/mu

delete branch : readme

delete time in 3 months

push eventakkartik/mu

Kartik Agaram

commit sha 0bdce960173ab149fcdc0dd7e00533f1c39aee7f

readme

view details

push time in 3 months

push eventakkartik/mu

Kartik Agaram

commit sha 5fc31a0ce928c70d8f98e2f93d4b1a7cc370c213

readme

view details

push time in 3 months

push eventakkartik/mu

Kartik Agaram

commit sha 4833efe7c6c7a7ead71dd8ef9c6dde8dc30d64b3

readme

view details

push time in 3 months

push eventakkartik/mu

Kartik Agaram

commit sha 6a4ce3f9f29d9fde76622ab7e07ffe21f939d18a

readme

view details

push time in 3 months

push eventakkartik/mu

Kartik Agaram

commit sha bd92f7874641b5548942ee8a41e98fa0ce386613

readme

view details

push time in 3 months

push eventakkartik/mu

Kartik Agaram

commit sha 7eb2ef045f9dd0af9e07432a7010033b6a375bd4

readme

view details

push time in 3 months

push eventakkartik/mu

Kartik Agaram

commit sha e0a42b3f452ac2ae8d202df01ff31a3c7c2418cf

readme

view details

push time in 3 months

push eventakkartik/mu

Kartik Agaram

commit sha 3f07bbd822abfbcb4eae9167b06334cc297f0b87

readme

view details

push time in 3 months

push eventakkartik/mu

Kartik Agaram

commit sha 87f43bcff68114c5b68f4a6b9f14d6a400e74b3c

readme

view details

push time in 3 months

push eventakkartik/mu

Kartik Agaram

commit sha 10cc25eedc7714af712ae13f06cc061a31a3680a

readme

view details

push time in 3 months

more