about summary refs log tree commit diff stats
path: root/mu.arc
Commit message (Collapse)AuthorAgeFilesLines
* 405 - permit loading just low levels of codebaseKartik K. Agaram2014-12-131-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | When I'm doing extensive surgery to the internals I want to avoid loading higher levels; they aren't expected to work. But I don't want to keep different levels in separate files just for that. And I definitely don't want to put low-level stuff first. Now I can influence loading in a cross-cutting manner by creating sections with numbers: (section 100 ...code...) And disabling them by running: $ ./anarki/arc 99 mu.arc.t Currently we load all mu 'system software' in level 100, so running at level 99 sidesteps them. Lower levels coming soon. But most of the time we don't need to worry about levels, and the 'mu' script lets us forget about them. Just run .mu files with: $ ./mu factorial.mu To run tests: $ ./mu test mu.arc.t
* 404Kartik K. Agaram2014-12-121-1/+1
|
* 403 - 'function' is more clear than 'def'Kartik K. Agaram2014-12-121-3/+3
|
* 401 - stop abbreviating opsKartik K. Agaram2014-12-121-59/+65
| | | | | We expect users to come across mu from arbitrary bits of code, so try to make each line as self-contained as possible.
* 398 - new space for forked routinesKartik K. Agaram2014-12-041-1/+6
| | | | | Hack: currently restricted to 1000 locations per routine, no way to grow past that. That suffices to pass our failing test.
* 397 - routines encapsulate allocator stateKartik K. Agaram2014-12-041-15/+19
| | | | Still incomplete; one test temporarily disabled.
* 393 - 'defer' should now support all kinds of exitsKartik K. Agaram2014-12-031-1/+4
|
* 392Kartik K. Agaram2014-12-031-7/+11
|
* 391 - start fleshing out 'defer'Kartik K. Agaram2014-12-031-0/+4
|
* 389Kartik K. Agaram2014-11-291-2/+1
|
* 384Kartik K. Agaram2014-11-291-22/+22
|
* 383Kartik K. Agaram2014-11-291-2/+1
|
* 382 - varargs 'interpolate'Kartik K. Agaram2014-11-291-8/+44
| | | | Brilliant, now I didn't need any low-level changes.
* 381Kartik K. Agaram2014-11-291-11/+2
|
* 379Kartik K. Agaram2014-11-291-9/+15
|
* 377Kartik K. Agaram2014-11-281-45/+37
|
* 376 - similarly simplify record helpersKartik K. Agaram2014-11-281-8/+7
|
* 374 - simplify array helpersKartik K. Agaram2014-11-281-20/+17
|
* 373Kartik K. Agaram2014-11-281-6/+5
|
* 372 - size check for arraysKartik K. Agaram2014-11-281-2/+5
|
* 371 - bugfix: don't read destination when writing arrayKartik K. Agaram2014-11-281-3/+10
| | | | | Finally we've gotten to one of the top-level bugs uncovered by 'interpolate'.
* 370 - unit tests for 'setm'Kartik K. Agaram2014-11-281-4/+7
|
* 369Kartik K. Agaram2014-11-281-4/+4
|
* 368 - replace 'sz' with our new 'sizeof'Kartik K. Agaram2014-11-281-21/+6
|
* 366 - reorg run's helpersKartik K. Agaram2014-11-281-142/+155
| | | | | First step to using our new 'deref' and 'absolutize' helpers more coherently.
* 365 - new primitives let us generalize 'addr'Kartik K. Agaram2014-11-281-4/+5
|
* 364Kartik K. Agaram2014-11-281-16/+2
|
* 363Kartik K. Agaram2014-11-281-1/+14
|
* 362Kartik K. Agaram2014-11-281-0/+1
| | | | Gaining confidence..
* 361 - *now* 'sizeof' on array pointersKartik K. Agaram2014-11-281-0/+4
|
* 360 - back up, let's create a new 'deref' helperKartik K. Agaram2014-11-281-0/+13
|
* 359 - 'sizeof' supports 'deref' pointersKartik K. Agaram2014-11-281-1/+6
| | | | Just non-arrays for now.
* 358 - start of 'sizeof' support for arraysKartik K. Agaram2014-11-281-0/+4
|
* 356 - high time 'sizeof' supported operandsKartik K. Agaram2014-11-281-12/+14
|
* 354 - stepping back, test-driving 'addr' helper againKartik K. Agaram2014-11-281-1/+2
|
* 352 - 'interpolate' as a poor man's printfKartik K. Agaram2014-11-271-0/+73
|
* 351 - break/loop from nested blocksKartik K. Agaram2014-11-271-10/+14
|
* 350Kartik K. Agaram2014-11-271-9/+9
|
* 349 - jump to labelKartik K. Agaram2014-11-271-3/+28
|
* 348Kartik K. Agaram2014-11-271-2/+2
|
* 347 - allow 'arg' channel to be rewoundKartik K. Agaram2014-11-271-9/+9
|
* 345Kartik K. Agaram2014-11-271-20/+2
|
* 344 - about to give up on rewrite rulesKartik K. Agaram2014-11-271-5/+10
| | | | | | | | | | | | | | | | | I wanted to come up with some way to rewrite 'def-clause foo' to 'after foo/more-clauses', something like: rewrite def-clause [ (fn-name string-address) <- arg (label-name string-address) <- strcat (fn-name string-address deref) ("/more-clauses" literal) (body expr) <- arg reply `(after ,label-name ,body) ] But the quasiquote is still a nested expression that doesn't fit our model well. Still an open question how to do template interpolation in mu.
* 343 - experiment: rewrite rulesKartik K. Agaram2014-11-271-2/+17
| | | | We'll worry later about implementing them in mu.
* 342 - strcatKartik K. Agaram2014-11-271-1/+50
|
* 341 - standardize traces againKartik K. Agaram2014-11-271-0/+1
|
* 340Kartik K. Agaram2014-11-261-0/+1
|
* 339 - string literals for convenienceKartik K. Agaram2014-11-261-7/+19
| | | | | | I'm cheating a little when it comes to strings, making use of Racket primitives. But in principle it seems like a local transform to implement even in machine code.
* 338 - starting to work on string primitivesKartik K. Agaram2014-11-261-1/+1
|
* 337 - rename 'continue' instructions to 'loop'Kartik K. Agaram2014-11-261-10/+10
|