Commit Graph

263 Commits

Author SHA1 Message Date
Yuichi Nishiwaki 39af5ca254 implement string-append in C 2014-02-09 02:42:50 +09:00
stibear a89d88d276 implemented Selectors 2014-02-09 02:20:48 +09:00
stibear bc51836440 implemented Constructors and Predicates 2014-02-08 23:11:17 +09:00
Yuichi Nishiwaki 5d1c00bb06 add write/write-shared/display, but incomplete 2014-02-08 19:45:05 +09:00
Yuichi Nishiwaki 1adecf5cf5 style clenaup 2014-02-08 17:32:40 +09:00
Yuito Murase d5b0b7bf19 implement standard library : (scheme cxr) 2014-02-08 03:24:26 +09:00
Yuichi Nishiwaki b6637842e7 Revert "Revert "suppress duplicate definition warnings, variables are hoisted""
This reverts commit 968c0b53df.
2014-02-08 03:18:13 +09:00
Yuichi Nishiwaki 968c0b53df Revert "suppress duplicate definition warnings, variables are hoisted"
This reverts commit 15e95f82da.
2014-02-08 03:12:39 +09:00
Yuichi Nishiwaki f051de77c5 support 'else' syntax in cond 2014-02-08 02:55:17 +09:00
Yuichi Nishiwaki 15e95f82da suppress duplicate definition warnings, variables are hoisted 2014-02-08 02:48:57 +09:00
Yuichi Nishiwaki a99cf8458a implement ir-macro-transformer with C 2014-01-19 01:14:32 -08:00
Yuichi Nishiwaki 0425dbdd1e implement values and call-with-values with C 2014-02-02 14:26:58 +09:00
Yuichi Nishiwaki dd784c589b implement some of important list functions listed on srfi-1 2014-02-01 23:20:13 +09:00
Yuichi Nishiwaki 78d82e4d12 add srfi-1 prototype 2014-02-01 22:45:59 +09:00
Yuichi Nishiwaki 95c5361197 rewrite min/max/gcd/lcm with C 2014-01-22 23:47:33 +09:00
Yuichi Nishiwaki 2f965fa809 replace some number predicates with c imples 2014-01-22 22:58:08 +09:00
Yuichi Nishiwaki 5dd66cbcd1 replace list-copy and make-list impls by scheme with ones by C 2014-01-22 22:37:27 +09:00
Yuichi Nishiwaki c539f889cd native implementatino of for-each 2014-01-22 22:21:48 +09:00
Yuichi Nishiwaki 85a5745716 native implmentation of map 2014-01-22 22:18:25 +09:00
Yuichi Nishiwaki e417439f4a reduce exports 2014-01-22 21:36:32 +09:00
Yuichi Nishiwaki 74088d0130 replace list-set! impl with C impl 2014-01-22 21:35:13 +09:00
Yuichi Nishiwaki d07456466d replace cxxr and list? impls by scheme with ones by C 2014-01-22 21:29:11 +09:00
Yuichi Nishiwaki 7fc2885fad replace list impl by scheme with impl by C 2014-01-22 21:20:13 +09:00
Yuichi Nishiwaki bbd1ec3fbb replace length/reverse/append impls with c functions 2014-01-22 21:14:10 +09:00
Yuichi Nishiwaki 67d4d28d19 impl list-ref and list-tail as C functions 2014-01-22 21:00:29 +09:00
Yuichi Nishiwaki 82dd55f77f er macro no longer requires identifier? defined 2014-01-11 12:56:51 +09:00
Yuichi Nishiwaki 64855bfcec er-macro-transformer is no longer defined using sc 2014-01-11 12:56:07 +09:00
Yuichi Nishiwaki c66a217e87 Types that can be passed to the rename procedure is only a symbol 2014-01-11 12:55:34 +09:00
Yuichi Nishiwaki d0713456ef add make-parameter and parameterize 2014-01-09 00:39:45 +09:00
Yuichi Nishiwaki 8273659bd0 [bugfix] `do` macro should execute epilogue expressions iff test
evaluates *true*
2014-01-08 20:18:44 +09:00
Yuichi Nishiwaki 55105dc14f gather utility functions which are necessary in bootstrap stage 2013-12-10 09:14:08 -08:00
Yuichi Nishiwaki cb41d9262a add `define-values` syntax 2013-12-10 08:48:26 -08:00
Yuichi Nishiwaki d4ebf6c926 letrec and let-values should be declared as aliases of letrec* and let*-values 2013-12-10 08:37:33 -08:00
Yuichi Nishiwaki 38a3a0936d define let*-values as an alias to let-values 2013-12-10 08:34:57 -08:00
Yuichi Nishiwaki 11c0d78957 [bugfix] exact-integer-sqrt was broken 2013-12-10 08:30:20 -08:00
Yuichi Nishiwaki acd70f108d implement let-values 2013-12-10 08:30:06 -08:00
Yuichi Nishiwaki 45fb1be04f strict check whether given expression is multiple value or not 2013-12-10 08:14:14 -08:00
Yuichi Nishiwaki 7fe6a5007c separate functions and syntaces related to multiple value 2013-12-10 08:11:54 -08:00
Yuichi Nishiwaki c6e828ef3e utf8<->string conversion 2013-12-10 07:58:25 -08:00
Yuichi Nishiwaki 6958730fa4 export all symbols defined in built-in.scm 2013-12-10 07:13:57 -08:00
Yuichi Nishiwaki db9de51d07 [bugfix] min and max are broken 2013-12-10 07:13:17 -08:00
Yuichi Nishiwaki c67c81c1aa add call-with-port 2013-12-10 05:53:59 -08:00
Yuichi Nishiwaki cdb1911f9f define (scheme inexact) library 2013-12-10 05:40:44 -08:00
Yuichi Nishiwaki 11b0796187 add syntax-error 2013-12-10 03:21:29 -08:00
Yuichi Nishiwaki d1752bb236 add a comment 2013-12-10 03:14:08 -08:00
Yuichi Nishiwaki cb43c9f35d ir-macro-transformer seems not work properly 2013-12-10 03:11:01 -08:00
Yuichi Nishiwaki ae3164643e [bugfix] let may take an identifier as a loop name 2013-12-10 03:10:42 -08:00
Yuichi Nishiwaki 79f6f5c034 rewrite core syntaces with explicit renaming macro 2013-12-10 03:09:27 -08:00
Yuichi Nishiwaki fad425fcb9 export core syntaces from (scheme base) 2013-12-10 01:49:07 -08:00
Yuichi Nishiwaki 7cdd997f34 define 'case' syntax in (pircin core-syntax) library 2013-12-10 01:48:53 -08:00
Yuichi Nishiwaki 7520de3dcd cosmetic changes 2013-12-10 00:21:43 -08:00
Yuichi Nishiwaki 49c0330fb7 declare core syntaces individually separate from (scheme base) 2013-12-09 23:00:47 -08:00
Yuichi Nishiwaki 738fd549d8 add more auxiliary syntaces 2013-12-09 10:01:09 -08:00
Yuichi Nishiwaki ea7dc37dbc reorder and cleanup built-in libraries 2013-12-09 10:00:33 -08:00
Yuichi Nishiwaki a35434461d move functions related to hygienic macros to the top 2013-12-09 09:47:15 -08:00
Yuichi Nishiwaki 761cef4efb do not use let syntax in the definition of ir-macro-transformer 2013-12-09 09:44:11 -08:00
Yuichi Nishiwaki 51657e9412 remove walk function's support for vector for a moment 2013-12-09 09:43:20 -08:00
Yuichi Nishiwaki fdf06d591c remove 'else' 2013-12-09 09:34:32 -08:00
Yuichi Nishiwaki b231d63297 [bugfix] avoid auxiliary keywords such as unquote or unquote-splicing
from being renamed
2013-12-09 09:27:28 -08:00
Yuichi Nishiwaki 0dddddab55 ir-macro-transformer was broken 2013-12-09 07:26:51 -08:00
Yuichi Nishiwaki 1ad4c309f4 [bugfix] case and or should be declared by ir-macro-transformer 2013-12-09 15:41:57 +09:00
Yuichi Nishiwaki daae383938 add hygienic `or` syntax 2013-12-09 15:37:29 +09:00
Yuichi Nishiwaki 3c6fd93b5a add hygienic `case` syntax 2013-12-09 15:37:21 +09:00
Yuichi Nishiwaki 28da6d71ba add pic_equal_p 2013-12-07 20:52:58 -08:00
Yuichi Nishiwaki 220c7856cd cosmetic changes 2013-12-04 20:33:38 +09:00
Yuichi Nishiwaki 708af9f00f untabify 2013-12-03 22:29:35 +09:00
Yuichi Nishiwaki d9398828c0 ir-macro-transformer was broken 2013-12-03 13:09:38 +09:00
Yuichi Nishiwaki 4e98d37ab1 remove old debug prints 2013-12-03 13:08:23 +09:00
Yuito Murase 3c79c0df00 add vector-map, vector-for-each, string-map, string-for-each 2013-11-29 01:50:10 +09:00
Yuichi Nishiwaki 6d0f75dd7e add ir-macro-transformer 2013-11-28 18:39:27 +09:00
Yuichi Nishiwaki 7b8ee3eb97 add er-macro-transformer 2013-11-27 17:26:07 +09:00
Yuichi Nishiwaki 7b026fbd0a add sc-macro-transformer/rsc-maro-transformer 2013-11-27 17:25:42 +09:00
Yuichi Nishiwaki 0f127917e8 primitive overridings may cause circular reference at the stage of
variable renaming
2013-11-27 13:52:16 +09:00
Yuichi Nishiwaki 7352cf8bcf add missing bytevector functions 2013-11-18 01:45:08 +09:00
Yuichi Nishiwaki 926924982d add missing vector functions 2013-11-18 01:29:54 +09:00
Yuichi Nishiwaki 7fbff9384e add missing string functions 2013-11-18 01:26:03 +09:00
Yuichi Nishiwaki ca66291d93 vector<->list conversion 2013-11-17 18:35:45 +09:00
Yuichi Nishiwaki b19df05e81 add vector-fill! 2013-11-17 17:33:37 +09:00
Yuichi Nishiwaki 6d825666e2 add vector-append 2013-11-17 13:13:16 +09:00
Yuichi Nishiwaki 0690fbbdb4 add vector-copy and vector-copy! 2013-11-17 02:31:32 +09:00
Yuichi Nishiwaki d9749ef854 add for-each 2013-11-15 22:57:46 +09:00
Yuichi Nishiwaki c57f1bfbe1 define math comp predicates as C functions 2013-11-15 22:51:51 +09:00
Yuichi Nishiwaki a2f022df4e implement native version of some primitive functions such as car,crd... 2013-11-15 16:07:03 +09:00
Yuichi Nishiwaki 6b742a7fa3 using any instead of every in map function may make the run a bit faster 2013-11-14 22:48:06 +09:00
Yuichi Nishiwaki a272f9d27c map may take multiple list 2013-11-14 22:16:30 +09:00
Yuichi Nishiwaki cc1adb93ce add min and max 2013-11-14 21:58:30 +09:00
Yuichi Nishiwaki 23ebe14da0 support all functions under section 6.6 2013-11-14 20:41:51 +09:00
Yuichi Nishiwaki 26bf0970f9 add bytevector function 2013-11-14 18:01:44 +09:00
Yuichi Nishiwaki 819a2e6a96 add vectro funtion 2013-11-14 17:58:12 +09:00
Yuichi Nishiwaki 4d6c2d99fe [bugfix] do's condition was broken 2013-11-14 17:57:56 +09:00
Yuichi Nishiwaki 1b7774eec8 add some missing function listed in section 6.2. Numbers 2013-11-14 17:51:57 +09:00
Yuichi Nishiwaki 8d1bfc026b add do macro 2013-11-14 17:41:03 +09:00
Yuichi Nishiwaki 62069af4f9 add named-let 2013-11-14 17:31:59 +09:00
Yuichi Nishiwaki 249061982f add symbol=? function 2013-11-14 16:52:10 +09:00
Yuichi Nishiwaki 6296d4bee2 add boolean=? 2013-11-14 14:31:57 +09:00
Yuichi Nishiwaki 0462aebce0 add let* and letrec* 2013-11-14 13:17:54 +09:00
Yuichi Nishiwaki bc61cc4665 add letrec macro 2013-11-13 18:19:35 +09:00
Yuichi Nishiwaki d6c377a33b native support for dynamic-wind 2013-11-11 18:04:21 +09:00
Yuichi Nishiwaki 28979c0e62 add dynamic-wind 2013-11-11 08:03:52 +09:00
Yuichi Nishiwaki 901cf0ed09 add values/call-with-values 2013-11-11 08:01:29 +09:00
Yuichi Nishiwaki 71b0f8c686 add memv, assv, member, and assoc 2013-11-09 16:45:04 +09:00
Yuichi Nishiwaki c211d9ffde add some math built-in functions: even?, odd?, gcd, lcm 2013-11-09 16:33:52 +09:00
Yuichi Nishiwaki d0d3feeb4b add when and unless macros 2013-11-06 16:18:29 +09:00
Yuichi Nishiwaki fc42c71304 add eqv? and equal? 2013-11-06 16:12:31 +09:00
Yuichi Nishiwaki eede3242a5 add memq/assq 2013-11-04 20:52:57 -05:00
Yuichi Nishiwaki 404ccb7fb1 cleanup 2013-11-01 19:19:51 +09:00
Yuichi Nishiwaki ff61f8c0f5 support quasiquote syntax 2013-11-01 18:57:35 +09:00
Yuichi Nishiwaki 5e74caa7a5 add some important primitive macros such as cond, and, or, ...etc 2013-10-31 00:31:33 +09:00
Yuichi Nishiwaki b10ef13ca0 define (unhygienic) let macro 2013-10-30 17:09:51 +09:00
Yuichi Nishiwaki 787dae1fe5 add missing list functions 2013-10-29 16:39:04 +09:00
Yuichi Nishiwaki ec3a32ef24 implement some list functions in built-in.scm 2013-10-29 02:50:26 +09:00
Yuichi Nishiwaki 6d606e84e0 add some missing numeric functions 2013-10-29 02:50:12 +09:00
Yuichi Nishiwaki 63c05209f8 add built-in library 2013-10-27 18:38:55 +09:00