Commit Graph

24 Commits

Author SHA1 Message Date
Kartik K. Agaram 3e31f29a5b 3907 - standardize test failure messages 2017-06-15 10:45:03 -07:00
Kartik K. Agaram 2b25071710 3877 2017-05-26 17:36:16 -07:00
Kartik K. Agaram b8263692a6 3841
Use the real original instruction in error messages.
Thanks Ella Couch.
2017-04-27 09:07:53 -07:00
Kartik K. Agaram 797edfd041 3799 2017-03-18 20:44:48 -07:00
Kartik K. Agaram 49620728e8 3707
Be more disciplined about tagging 2 different concepts in the codebase:

a) Use the phrase "later layers" to highlight places where a layer
doesn't have the simplest possible self-contained implementation.

b) Use the word "hook" to point out functions that exist purely to
provide waypoints for extension by future layers.

Since both these only make sense in the pre-tangled representation of
the codebase, using '//:' and '#:' comments to get them stripped out of
tangled output.

(Though '#:' comments still make it to tangled output at the moment.
Let's see if we use it enough to be worth supporting. Scenarios are
pretty unreadable in tangled output anyway.)
2016-12-12 10:07:59 -08:00
Kartik K. Agaram d0832be28a 3611
Fix CI.
2016-10-31 17:53:11 -07:00
Kartik K. Agaram 04a2a2928c 3610 - bugfix in type-checking 'call' instructions
Thanks Rebecca Allard for running into this.

The test is in layer 13 even though the code that regressed was fixed in
layer 71, because the test was working as-is in earlier layers.
2016-10-31 12:14:09 -07:00
Kartik K. Agaram d8509b4175 3555 2016-10-22 16:10:23 -07:00
Kartik K. Agaram 6c96a437ce 3522 2016-10-19 22:10:35 -07:00
Kartik K. Agaram 9dcbec398c 2990
Standardize quotes around reagents in error messages.

I'm still sure there's issues. For example, the messages when
type-checking 'copy'. I'm not putting quotes around them because in
layer 60 I end up creating dilated reagents, and then it's a bit much to
have quotes and (two kinds of) brackets. But I'm sure I'm doing that
somewhere..
2016-05-20 22:11:34 -07:00
Kartik K. Agaram b24eb4766a 2773 - switch to 'int'
This should eradicate the issue of 2771.
2016-03-13 20:26:47 -07:00
Kartik K. Agaram a70ce31113 2728 - don't ignore /space: while checking types 2016-03-04 19:22:09 -08:00
Kartik K. Agaram 1b76245c63 2712 2016-02-26 13:04:55 -08:00
Kartik K. Agaram a0b9fa55a0 2704 - eradicate all mention of warnings from core 2016-02-25 11:29:42 -08:00
Kartik K. Agaram 83266c767d 2693
I noticed while teaching Ella that when mu encountered a missing recipe
it failed to find *any* recipes after that point, leading to a lot of
spurious errors. Now fixed.
2016-02-23 15:53:47 -08:00
Kartik K. Agaram 82177734ca layer 3 of edit/ now working
Now I complain before running if a call somewhere doesn't line up with
its ingredients, or if no specialization can be made to match it.
2015-12-15 10:20:41 -08:00
Kartik K. Agaram 215365d427 2494
Some more structure to transforms, and flattening of dependencies
between them.
2015-11-28 22:17:47 -08:00
Kartik K. Agaram b2e4056d66 2383 - new concern: idempotence of transforms
I'd not paid any attention to it so far, but I need to do so from now
on.
2015-11-06 17:29:52 -08:00
Kartik K. Agaram 57d01f212c 2382
Starting to leave commented out prints again out of desperation.
2015-11-06 17:03:02 -08:00
Kartik K. Agaram f3760b0f28 2379 - further improvements to map operations
Commands run:

  $ sed -i 's/\([^. (]*\)\.find(\([^)]*\)) != [^.]*\.end()/contains_key(\1, \2)/g' 0[^0]*cc
  $ sed -i 's/\([^. (]*\)\.find(\([^)]*\)) == [^.]*\.end()/!contains_key(\1, \2)/g' 0[^0]*cc
2015-11-06 13:22:30 -08:00
Kartik K. Agaram 795f5244ab 2377 - stop using operator[] in map
I'm still seeing all sorts of failures in turning on layer 11 of edit/,
so I'm backing away and nailing down every culprit I run into. First up:
stop accidentally inserting empty objects into maps during lookups.

Commands run:
  $ sed -i 's/\(Recipe_ordinal\|Recipe\|Type_ordinal\|Type\|Memory\)\[\([^]]*\)\] = \(.*\);/put(\1, \2, \3);/' 0[1-9]*
  $ vi 075scenario_console.cc  # manually fix up Memory[Memory[CONSOLE]]
  $ sed -i 's/\(Memory\)\[\([^]]*\)\]/get_or_insert(\1, \2)/' 0[1-9]*
  $ sed -i 's/\(Recipe_ordinal\|Type_ordinal\)\[\([^]]*\)\]/get(\1, \2)/' 0[1-9]*
  $ sed -i 's/\(Recipe\|Type\)\[\([^]]*\)\]/get(\1, \2)/' 0[1-9]*

Now mu dies pretty quickly because of all the places I try to lookup a
missing value.
2015-11-06 11:17:25 -08:00
Kartik K. Agaram 436b2b2eac 2360
More flailing around trying to come up with the right phase ordering.
I've tried to narrow down each transform's constraints wrt transforms in
previous layers.

One issue that keeps biting me is the Type map containing empty records
because of stray [] operations. That's gotta be important.
2015-11-04 23:44:46 -08:00
Kartik K. Agaram 5a4810855d 2358 - starting to tackle the phase ordering problem
A new externality is starting to make its presence felt.

Until I sort this out it's going to be hard to finish making duplex-list
generic.
2015-11-04 23:35:21 -08:00
Kartik K. Agaram e669248264 2321 - more preparations for static dispatch
Deduce operation id from name during transform rather than load, so that
earlier transforms have a chance to modify the name.
2015-10-29 17:15:09 -07:00