Carp/core
Scott Olsen bd553fb78e
feat: add assignment operator macros (#1320)
These macros apply an operation to the current value of a variable and
then set the variable to the result of the application. They are
effectively sugar for writing `(set! <var> (<op> <var> <val>))` and
should be familiar to those who have programmed in imperative languages
like C.

In Carp, all the underlying operations these macros use are interfaces,
so one can flexibly use them for more than just numeric types.

Example usage:

```clojure
(let-do [dial 0]
  ;; crank it up to 11!
  (while-do (dial < 12)
    (++ dial))
  dial)

;; expanded
(let-do [dial 0]
  ;; crank it up to 11!
  (while-do (dial < 12)
    (set! dial (inc dial)))
  dial)
```
2021-09-27 10:15:54 +02:00
..
Array.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
ArrayExt.carp core: update dcostring for range-or-default 2020-05-24 12:51:11 +02:00
Bench.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Binary.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Blitable.carp feat: Remove address (#1223) 2021-05-27 22:04:46 +02:00
Bool.carp core: add Bool.zero 2020-06-23 12:26:53 +02:00
BoolExtras.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Byte.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
carp_bench.h Replace return by pure. (#1009) 2020-11-24 06:09:15 +01:00
carp_binary.h all: various long fixes 2020-04-23 21:50:30 +02:00
carp_bool.h core: do not have short functions on single lines 2019-10-30 11:07:32 +01:00
carp_byte.h core: fix #688 by using the correct formatting macros\n\n(and pray that windows does c99) 2020-02-21 12:28:34 +01:00
carp_char.h feat: add Char.to-byte and Char.from-byte (#1187) 2021-03-16 11:14:16 +01:00
carp_debug.h Preserve includes order in generated output. 2019-10-03 00:23:27 +02:00
carp_double.h Long type to ensure longs are actually 64 bits. 2020-04-22 10:40:06 +02:00
carp_float.h fix: run ormolu and clang-format (#1312) 2021-09-15 19:49:20 +02:00
carp_int.h core: do not have short functions on single lines 2019-10-30 11:07:32 +01:00
carp_io.h IO.Raw (#1243) 2021-06-17 17:33:10 +02:00
carp_long.h Detect __builtin_x_overflow() based on __GNUC__ macro. 2020-05-23 19:03:07 +02:00
carp_memory.h all: various long fixes 2020-04-23 21:50:30 +02:00
carp_pattern.h fix: run ormolu and clang-format (#1312) 2021-09-15 19:49:20 +02:00
carp_safe_int.h Detect __builtin_x_overflow() based on __GNUC__ macro. 2020-05-23 19:03:07 +02:00
carp_stdbool.h core: remove stdbool dependency 2018-11-17 15:42:36 +01:00
carp_stdint.h fix: remove unused vars in carp_stdint.h (#1165) 2021-02-04 08:35:17 +01:00
carp_string.h fix: escape quotes in String.prn (#1287) 2021-07-29 08:30:42 +02:00
carp_system.h IO.Raw (#1243) 2021-06-17 17:33:10 +02:00
carp_utf8.h Unicode fixes (#994) 2020-11-22 06:45:26 +01:00
Char.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Color.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Control.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
ControlMacros.carp feat: Add additional ignore macros (#1300) 2021-08-23 20:31:10 +02:00
Core.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
core.h fix: added missing definitions so Carp can be used with TCC 32bit on Windows (#1267) 2021-07-01 10:20:42 +02:00
Debug.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Derive.carp docs: fix typo in make-deriver and add implementor note (#1155) 2021-01-27 19:00:31 +01:00
Double.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Dynamic.carp feat: add Dynamic.Debug.trace (#1279) 2021-07-14 08:14:07 +02:00
Filepath.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Float.carp feat: Add Float.round (#1301) 2021-08-23 20:31:29 +02:00
Format.carp feat: add fstr (#1142) 2021-01-26 06:18:16 +01:00
Function.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Generics.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Gensym.carp feat: allow for multibranches in case (#1276) 2021-07-08 20:43:48 +02:00
Geometry.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
GLFW.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Heap.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Int.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Interfaces.carp feat: make empty? an interface (#1139) 2021-01-20 09:54:08 +01:00
Introspect.carp feat: add Introspect.arguments (#1163) 2021-02-01 17:03:38 +01:00
IO.carp fix: use non-deprecated unlink function on windows (#1311) 2021-09-16 07:56:32 +02:00
List.carp feat: add Dynamic.List.find-index (#1316) 2021-09-17 05:58:39 +02:00
Long.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Macros.carp feat: add assignment operator macros (#1320) 2021-09-27 10:15:54 +02:00
Map.carp fix: Unify aupdate and aupdate! with other update functions (#1220) 2021-05-25 12:11:31 +02:00
Maybe.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Opaque.carp Update Opaque docs; fix typos 2020-06-18 09:57:28 -04:00
OpenGL.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Pattern.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Phantom.carp core: add docs for phantom 2020-06-17 19:06:49 +02:00
Platform.carp feat: Recognize the NetBSD platform. (#1109) 2021-01-03 13:22:56 +01:00
Pointer.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Project.carp feat: Emit docs for top level bindings (#1253) 2021-06-28 19:56:59 +02:00
Quasiquote.carp (and) and (or) now handle any number of parameters (#1251) 2021-06-20 21:44:04 +02:00
Random.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Result.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
SafeInt.carp Added --compile-fast to compile with tcc. 2020-05-21 20:04:54 +02:00
SDL_gfx.carp Refactored flags handling (add-pkg). 2019-06-17 09:02:34 +02:00
SDL_image.carp Add support for cross-compilation. 2020-10-10 20:01:18 +02:00
SDL_mixer.carp Merge 2020-05-11 16:10:35 +02:00
SDL_ttf.carp Merge 2020-05-11 16:10:35 +02:00
SDL.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
SDLHelper.h core: fix SDL for newer versions 2020-10-15 13:14:31 +02:00
Sort.carp core: add sort flavors with custom comparators 2018-11-13 11:11:21 +01:00
StaticArray.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Statistics.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
StdInt.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
String.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
System.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Test.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Tuples.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Unit.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Unsafe.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00
Vector.carp docs: document core modules (#1271) 2021-07-05 14:48:35 +02:00