Commit Graph

33 Commits

Author SHA1 Message Date
Veit Heller
2d34af6aa9
feat: make empty? an interface (#1139) 2021-01-20 09:54:08 +01:00
Erik Svedäng
6f7aeaff73
feat: 'delete' interface (deciding whether a type is managed or not) (#1061)
* feat: 'delete' interface (deciding whether a type is managed or not)

* refactor: Move implements function to Interface module

* feat: Automatically implement 'delete' for types defined with `deftype`

* fix: Don't implement `delete` for Pointer

* refactor: Clarify `memberInfo` function

* fix: Also check if function types are managed

* fix: Implement 'delete' for String and StaticArray.

* fix: Manage String and Pattern. Tests run!

* feat: Add `managed?` primitive

* docs: Note about primitiveIsManaged

* test: Basic test cases for managed / nonmanaged external types

* test: Make sure `managed?` primitive works

* test: Inactivate sanitizer since we're creating leaks intentionally

* feat: Removed 'isExternalType' function

* refactor: Decide if struct member takes ref or not when printing

..based on blitable interface, and 'prn' implemntation

* refactor: Use 'blit' everywhere

* refactor: Implement `strTakesRefOrNot` in terms of `memberStrCallingConvention`

* refactor: Use `remove` over `filter not`
2020-12-20 21:21:14 +01:00
Erik Svedäng
f78fd16a71
refactor: Move code out of Macros.carp into other files (#1014)
* refactor: Move code out of Macros.carp into other files

* fix: Move back some macros needed in --no-core mode

* refactor: Remove weird 'evaluate' macros

* fix: Put back more macros

* fix: Remove transitive loading of Macros.carp

* refactor: Remove ArrayMacros.carp and put 'for' at top of Array.carp instead

* refactor: More splitting up

* refactor: Move back save-docs

* fix: Moved back some stuff

Co-authored-by: Erik Svedang <erik@Eriks-iMac.local>
2020-11-28 12:53:18 +01:00
hellerve
06607c2203 core: make bit-* interfaces 2020-07-08 21:11:28 +02:00
Erik Svedäng
ca804beace Added support for (load-once). 2020-05-05 15:00:57 +02:00
hellerve
ee812b37e6 core: make subarry/substring slice 2020-02-11 09:09:30 +01:00
Jorge Acereda
7b7cb5d1e5 Substitute /= interface by a generic. 2019-09-20 23:49:20 +02:00
Jorge Acereda
08af49dc62 Working on generics.
- Added Generics module.
- Some Geometry/Vector* functions hardcoded parameters to Double.
2019-09-08 13:02:04 +02:00
hellerve
4bc9cb6046 core: make to-int and from-int interfaces 2019-03-26 18:08:17 +01:00
hellerve
023dfa1ae3 all: make and and or macros 2018-09-23 09:34:38 +02:00
hellerve
e3c1a31ec6 core: add neg protocol and add to int and long 2018-05-07 21:57:15 +02:00
Erik Svedäng
5648a87779 0 is not positive. 2018-04-21 15:45:05 +02:00
Erik Svedäng
4a88903158 Added pos? and neg? functions, some changes to SDL library. 2018-04-20 13:18:58 +02:00
Erik Svedäng
2253b890fa Can play sound effect but music is not working yet. 2018-03-23 15:13:17 +01:00
Erik Svedäng
99132e3926 Basic support for font rendering (more to come). 2018-03-22 13:25:30 +01:00
Erik Svedäng
8281dfa109 Made inc, dec, max, min into interfaces. Changed Array.max/min to new
names. Fixed tests and removed special max/min from Statistics module.
2018-01-29 07:14:56 +01:00
hellerve
eba07aeb34 core: added numerical ref modules 2018-01-15 16:27:05 +01:00
hellerve
f93eb16615 core: add cmp interface; src: better sort 2018-01-15 16:10:11 +01:00
hellerve
7c9eaeac9f core: made format not leak memory; test: added test for format and fmt 2017-12-30 20:16:31 +01:00
hellerve
eccddd00fe format: added simple versions of format (work on issue #108) 2017-12-30 15:13:56 +01:00
hellerve
b561713add core: added random to vector and double; added random and random-between interfaces 2017-12-28 18:02:50 +01:00
hellerve
cd9a0ddbbc core: added mod interface 2017-12-28 17:46:47 +01:00
Erik Svedäng
87c52cd5eb <= and >= functions 2017-12-15 10:37:16 +01:00
Your Name
3f0c5047f1 Changed pi symbol to 'pi' 2017-12-14 22:48:19 +01:00
Erik Svedäng
46de83b4b1 Two new interfaces: '<' and '>'. Also found a bug. 2017-12-13 22:29:43 +01:00
hellerve
ca6ecafbbc core: added arithmetic ref interfaces and regular arithmetic interfaces, renamed functions in vectors 2017-12-13 11:10:42 +01:00
Erik Svedäng
79132cf13d Define an interface for pi (π). 2017-12-12 23:13:05 +01:00
Erik Svedäng
0bf2d2bcaf Merge branch 'master' of https://github.com/carp-lang/Carp 2017-12-10 19:45:59 +01:00
Erik Svedäng
b0cdc65f4b Implemented 'add-ref' and 'zero' for Int/Float/Double. Allows nice 'Array.sum' function. 2017-12-04 07:21:35 +01:00
Erik Svedäng
f4f9eed551 Interfaces for +-*/ would be cool. 2017-11-27 21:55:52 +01:00
Erik Svedäng
88fd0dc32c Adding an interface for '/='. 2017-11-24 17:17:49 +01:00
Erik Svedäng
f566d080d8 Interfaces more typeclass-like, all tests run. 2017-11-22 22:03:08 +01:00
Erik Svedäng
50c9c90d21 Interfaces! 2017-11-21 16:56:39 +01:00