Carp/core
scottolsen 040e9e4391 Add an implements primitive, update core
This change adds a new primitive Implements which changes interface
implementations from being implicit to being explicit. Going forward,
users will have to declare (implements <interface> <implementation>) to
explicitly add a function to an interface. This provides two benefits:

- Prevents unwitting name clashes. Previously, if one defined a function
  that happened to have the same name as an interface, it was
  automatically assumed the function implemented that interface when this
  is not always the intention, especially in large programs.
- Name flexibility. One can now implement an interface with a function
  that has a different name than the interface, which allows for greater
  flexibility.

I've updated core to make the necessary calls to the new primitive.

Since str and copy are derived automatically for types, we treat these
functions as a special case and auto-implement the interfaces.
2020-05-09 12:59:47 -04:00
..
Array.carp Add an implements primitive, update core 2020-05-09 12:59:47 -04:00
Bench.carp core: move elapsed_time into bench module 2020-01-27 16:56:22 +01:00
Binary.carp Move Byte Order type outside of the Binary module 2020-03-20 19:02:55 -04:00
Bool.carp Add an implements primitive, update core 2020-05-09 12:59:47 -04:00
Byte.carp Add an implements primitive, update core 2020-05-09 12:59:47 -04:00
carp_bench.h core: move elapsed_time into bench module 2020-01-27 16:56:22 +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 core: do not have short functions on single lines 2019-10-30 11:07:32 +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 core: do not have short functions on single lines 2019-10-30 11:07:32 +01:00
carp_int.h core: do not have short functions on single lines 2019-10-30 11:07:32 +01:00
carp_io.h Long type to ensure longs are actually 64 bits. 2020-04-22 10:40:06 +02:00
carp_long.h safe arithmetic: disable on windows 2020-04-24 10:28:00 +02:00
carp_memory.h all: various long fixes 2020-04-23 21:50:30 +02:00
carp_pattern.h pattern: fix captures, add split and global-match-str 2020-02-09 13:42:39 +01:00
carp_safe_int.h safe arithmetic: disable on windows 2020-04-24 10:28:00 +02:00
carp_stdbool.h core: remove stdbool dependency 2018-11-17 15:42:36 +01:00
carp_stdint.h all: various long fixes 2020-04-23 21:50:30 +02:00
carp_string.h Long type to ensure longs are actually 64 bits. 2020-04-22 10:40:06 +02:00
carp_system.h core: do not have short functions on single lines 2019-10-30 11:07:32 +01:00
Char.carp Add an implements primitive, update core 2020-05-09 12:59:47 -04:00
Collection.carp Add an implements primitive, update core 2020-05-09 12:59:47 -04:00
Color.carp Use get-tag. 2019-09-11 20:37:15 +02:00
Control.carp Ref result. 2020-04-29 09:48:37 +02:00
Core.carp Merge branch 'master' into do-not-reload-core-libs 2020-05-06 10:08:56 +02:00
core.h Revert format specifier. 2020-04-26 22:05:13 +02:00
Debug.carp Use abort() for assertions. 2019-07-29 21:48:20 +02:00
Double.carp Add an implements primitive, update core 2020-05-09 12:59:47 -04:00
Dynamic.carp Renamed Dynamic.String.join and Dynamic.Symbol.join to concat. 2020-04-30 13:32:54 +02:00
Filepath.carp core: make subarry/substring slice 2020-02-11 09:09:30 +01:00
Float.carp Add an implements primitive, update core 2020-05-09 12:59:47 -04:00
Format.carp core: fix fmt without arguments 2020-02-12 17:33:38 +01:00
Generics.carp core: add const 2020-01-28 19:31:05 +01:00
Geometry.carp Generics no longer propagated. 2019-09-09 22:08:50 +02:00
GLFW.carp Refactored flags handling (add-pkg). 2019-06-17 09:02:34 +02:00
Heap.carp Fix all nth usage 2019-10-31 06:23:23 -03:00
Int.carp Add an implements primitive, update core 2020-05-09 12:59:47 -04:00
Interfaces.carp Added support for (load-once). 2020-05-05 15:00:57 +02:00
IO.carp core: add IO.getenv 2020-01-25 14:23:14 +01:00
Long.carp Add an implements primitive, update core 2020-05-09 12:59:47 -04:00
Macros.carp Readded inline-c as a macro of deftemplate. 2020-05-08 15:17:34 +02:00
Map.carp core: add stdint types 2020-02-17 10:42:07 +01:00
Maybe.carp Merge branch 'master' into match-on-refs 2020-05-05 13:57:58 +02:00
OpenGL.carp Move OpenGL.framework reference to its own module. 2019-06-13 18:21:59 +02:00
Pattern.carp core: make subarry/substring slice 2020-02-11 09:09:30 +01:00
Pointer.carp core: add pointer arithmetic (references #423) 2019-10-30 08:09:18 +01:00
Random.carp Add an implements primitive, update core 2020-05-09 12:59:47 -04:00
Result.carp core: remove result.zero 2020-04-30 14:40:01 +02:00
SafeInt.carp safe arithmetic: disable on windows 2020-04-24 10:28:00 +02:00
SDL_gfx.carp Refactored flags handling (add-pkg). 2019-06-17 09:02:34 +02:00
SDL_image.carp Some fixes for SDL on Windows. 2020-04-06 09:28:50 +02:00
SDL_mixer.carp Refactored flags handling (add-pkg). 2019-06-17 09:02:34 +02:00
SDL_ttf.carp Refactored flags handling (add-pkg). 2019-06-17 09:02:34 +02:00
SDL.carp Friendly tip. 2020-04-06 09:38:13 +02:00
SDLHelper.h all: fixes for new evaluator 2020-04-17 11:58:28 +02:00
Sort.carp core: add sort flavors with custom comparators 2018-11-13 11:11:21 +01:00
StaticArray.carp Remove comment. 2020-05-04 13:21:40 +02:00
Statistics.carp Fix all nth usage 2019-10-31 06:23:23 -03:00
StdInt.carp Add an implements primitive, update core 2020-05-09 12:59:47 -04:00
String.carp Add an implements primitive, update core 2020-05-09 12:59:47 -04:00
System.carp Carp init globals function call. 2020-03-23 10:31:58 +01:00
Test.carp eval: initial working rewrite 2020-04-17 11:58:28 +02:00
Tuples.carp Substitute /= interface by a generic. 2019-09-20 23:49:20 +02:00
Vector.carp core: make Maybe.apply take function ref 2020-01-25 14:08:37 +01:00