pmqtt
6dd46066a0
Bool->bool ( #1920 )
...
Change Bool to bool in Prelude
2022-08-04 11:09:24 -07:00
pmqtt
63da070671
add operator to comparsion ( #1883 )
...
Implement operator <, <=, > and >=
2022-08-04 09:56:16 -07:00
Richard Smith
e26bc32343
Change remaining uses of Bool to bool, following #750 . ( #1901 )
...
The most significant change here is that explorer now uses the chosen spelling
rather than the old `Bool` spelling. Also update a few documentation examples
and some skeletal design docs to use the chosen spelling.
2022-08-03 17:55:34 -07:00
Richard Smith and Jon Ross-Perkins
ef96f60425
Add support for bitwise operators. ( #1809 )
...
Following #1191 , add initial support for bitwise operators. Support for both
integer operations and for operator overloading via the interfaces specified in
#1191 is provided.
Co-authored-by: Jon Ross-Perkins <jperkins@google.com >
2022-07-31 15:25:10 -07:00
Thejaswi Kadur
5665f32bf7
Support for user-defined Eq impls ( #1730 )
...
Related to #1549 ; user-defined equality is a prerequisite for user-defined comparison.
2022-07-30 11:51:39 -07:00
pmqtt and m new
df93623741
Extends carbon to generate random number to make samples more interesting ( #1643 )
...
Implements the Rand function to carbon
Co-authored-by: m new <michael.burzan@outlook.de >
2022-07-29 10:39:30 -07:00
7be95ccb19
Operator overloading modulo ( #1808 )
...
Co-authored-by: m new <michael.burzan@outlook.de >
Co-authored-by: Richard Smith <richard@metafoo.co.uk >
2022-07-28 17:45:07 -04:00
Richard Smith
15ec5113aa
Add extensibility support for arithmetic operators. ( #1751 )
...
Add new prelude interfaces `Negate`, `AddWith`, `SubWith`, and `MulWith`, and
use them to implement non-builtin arithmetic operations.
2022-07-27 15:09:27 -07:00
Richard Smith
93e19649aa
Support for as operator and user-defined As impls. ( #1476 )
2022-07-21 13:16:18 -07:00
Jon Ross-Perkins
084bc6ebc1
Restructure __intrinsic_print to be a keyword-like Print ( #1407 )
2022-07-18 13:58:08 -04:00
Jon Ross-Perkins
a41915b5af
Support basic int printing ( #1405 )
...
We don't have overload resolution, so I've simply added PrintInt for now. But it's really tempting to turn __intrinsic_print into a total kludge function.
2022-07-17 23:35:44 -04:00
Jeremy G. Siek
b759401328
Heap allocation basics ( #1323 )
...
* initial implementation of new and delete
* remove requirement for empty heap from trace.carbon
* more tests
* fixed substitution for generic function types
2022-06-11 18:47:07 -04:00
Richard Smith
8dd398807d
Support user-defined implicit conversions via ImplicitAs ( #1273 )
...
Support is added for all of the non-type expression contexts where we currently accept built-in conversions, such as reordering the fields in a struct.
2022-05-20 17:10:30 -07:00
Jon Meow
309ec35f95
Rename executable_semantics to explorer ( #1188 )
...
Change generated with:
```
#!/usr/bin/bash -eux
# Helper script for renaming pending work.
# Run from the repo root.
# Rename executable_semantics in code.
sed -i 's/executable_semantics/explorer/g' \
$(git grep -l 'executable_semantics' . | grep -v proposals)
sed -i 's/executable semantics/explorer/g' \
$(git grep -l 'executable semantics' . | grep -v proposals)
sed -i 's/Executable semantics/Explorer/g' \
$(git grep -l 'Executable semantics' . | grep -v proposals)
sed -i 's/Executable Semantics/Explorer/g' \
$(git grep -l 'Executable Semantics' . | grep -v proposals)
sed -i 's/EXECUTABLE_SEMANTICS/EXPLORER/g' \
$(git grep -l 'EXECUTABLE_SEMANTICS' . | grep -v proposals)
sed -i 's/ExecutableSemantics/Explorer/g' \
$(git grep -l 'ExecutableSemantics' . | grep -v proposals)
sed -i 's/executable-semantics/explorer/g' \
$(git grep -l 'executable-semantics' . | grep -v proposals)
# This is only needed for the initial move.
mv executable_semantics explorer
mv explorer/fuzzing/executable_semantics_fuzzer.cpp explorer/fuzzing/explorer_fuzzer.cpp
```
Verified with `bazel test ...`
2022-04-29 13:20:25 -07:00