Changeset 12227 in project
- Timestamp:
- 10/21/08 20:42:22 (12 years ago)
- Location:
- chicken/trunk
- Files:
-
- 1 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
chicken/trunk/TODO
r12217 r12227 44 44 45 45 * optimizations 46 ** allocation-estimation in conditionals should take max of both branches, not sum 46 47 ** self-recursion optimization 47 48 what MacScheme called "benchmark-mode" (assume self-calls are recursion) … … 49 50 ** when inlining, consing arg-list with "list" may make get-keyword possible foldable 50 51 ** local flow analysis 51 ** lambda-fusion 52 ** lambda-fusion / "fuse-and-dispatch" (suggested by Alex) 53 convert groups of local lambdas referenced to only in operator-position into 54 looping lambda + dispatch (static variable can be used), otherwise similar to 55 a conditional 56 *** new forms (after optimization, prepared language) 57 [##core#dispatch LAMBDABODY1 ... BODY] 58 [##core#call/dispatch {INDEX} ARGUMENT1 ...} 52 59 ** handle optional ags primitively 53 60 for example, set to distinguished val (checking argc) on C level, core -
chicken/trunk/batch-driver.scm
r12088 r12227 299 299 (printf "Loading compiler extensions...~%~!") 300 300 (load-verbose #t) ) 301 (for-each (lambda (f) (load (##sys#resolve-include-filename f #f #t))) extends) ) 301 ;; rebind a-g-h to allow extensions in source files to use private-namespace.scm 302 (fluid-let ((##sys#alias-global-hook ##sys#alias-global-hook)) 303 (for-each 304 (lambda (f) (load (##sys#resolve-include-filename f #f #t))) 305 extends) ) ) 302 306 (set! ##sys#features (delete #:compiler-extension ##sys#features eq?)) 303 307 -
chicken/trunk/chicken-install.scm
r11989 r12227 54 54 (else (foreign-value "C_INSTALL_BIN_HOME" c-string) ) )) ) 55 55 56 (define *default-transport* #f)57 (define *default-location* #f)58 56 (define *keep* #f) 59 57 (define *force* #f) … … 66 64 (define *username* #f) 67 65 (define *password* #f) 66 (define *default-sources* '()) 67 (define *default-location* #f) 68 (define *default-transport* 'http) 68 69 69 70 (define (load-defaults) 70 (let* ((deff (make-pathname (repository-path) "setup.defaults")) 71 (def (cond ((file-exists? deff) 72 (with-input-from-file deff read)) 73 (else '()))) 74 (loc (assq 'location def)) 75 (tr (assq 'transport def))) 76 (when loc (set! *default-location* (cadr loc))) 77 (when tr (set! *default-transport* (cadr tr))) 78 (pair? def))) 71 (let ((deff (make-pathname (repository-path) "setup.defaults"))) 72 (cond ((not (file-exists? deff)) '()) 73 (else 74 (set! *default-sources* (read-file deff)) 75 (pair? *default-sources*))))) 79 76 80 77 (define (deps key meta) … … 137 134 (define *checked* '()) 138 135 136 (define (try name version) 137 (let loop ((defs (if (and *default-location* *default-transport*) 138 `(((location ,*default-location*) 139 (transport ,*default-transport*))) 140 *default-sources*))) 141 (and (pair? defs) 142 (let* ((def (car defs)) 143 (loc (cadr (or (assq 'location def) 144 (error "missing location entry" def)))) 145 (trans (cadr (or (assq 'transport def) 146 (error "missing transport entry" def))))) 147 (or (condition-case 148 (retrieve-extension 149 name trans loc 150 version: version 151 destination: (and *retrieve-only* (current-directory)) 152 tests: *run-tests* 153 username: *username* 154 password: *password*) 155 ((exn net) 156 (print "TCP connect timeout") 157 #f) 158 (e () (abort e))) 159 (loop (cdr defs))))))) 160 139 161 (define (retrieve eggs) 140 162 (print "retrieving ...") … … 148 170 (let* ((name (if (pair? egg) (car egg) egg)) 149 171 (version (and (pair? egg) (cdr egg))) 150 (dir (retrieve-extension 151 name *default-transport* *default-location* 152 version: version 153 destination: (and *retrieve-only* (current-directory)) 154 tests: *run-tests* 155 username: *username* 156 password: *password*))) 172 (dir (try name version))) 157 173 (unless dir 158 174 (error "extension or version not found")) … … 241 257 242 258 (define (usage code) 243 (print #< #EOF259 (print #<<EOF 244 260 usage: chicken-install [OPTION | EXTENSION[:VERSION]] ... 245 261 … … 248 264 -force don't ask, install even if versions don't match 249 265 -k -keep keep temporary files 250 -l -location LOCATION install from given location instead of default (#{*default-location*})251 -t -transport TRANSPORT use given transport instead of default (#{*default-transport*})266 -l -location LOCATION install from given location instead of default 267 -t -transport TRANSPORT use given transport instead of default 252 268 -s -sudo use sudo(1) for installing or removing files 253 269 -r -retrieve only retrieve egg into current directory, don't install -
chicken/trunk/compiler.scm
r12201 r12227 177 177 ; [##core#call {<safe-flag> [<debug-info> [<call-id> <customizable-flag>]]} <exp-f> <exp>...] 178 178 ; [##core#callunit {<unitname>} <exp>...] 179 ; [##core#cond <exp> <exp> <exp>] 179 180 ; [##core#local {<index>}] 180 181 ; [##core#setlocal {<index>} <exp>] … … 2510 2511 (else (make-node '##core#literal (list (literal c)) '())) ) ) ) 2511 2512 2513 ;;*** conditionals (if + ##core#cond) are missing here: allocation 2514 ;; calculation should use max of both branches, not sum. 2515 2512 2516 (else (make-node class params (mapwalk subs e here boxes)) ) ) ) ) 2513 2517 -
chicken/trunk/manual/Unit tcp
r5945 r12227 52 52 and {{tcp-write-timeout}}, respectively, to determine the maximal 53 53 number of milliseconds to wait for input/output before a timeout 54 error is signalled .54 error is signalled by raising an exception of the kinds {{(exn i/o net)}}. 55 55 56 56 Note: this operation and any I/O on the ports returned will not block … … 94 94 {{tcp-write-timeout}}, respectively, to determine the maximal number 95 95 of milliseconds to wait for input/output before a timeout error is 96 signalled .96 signalled by raising an exception of the kinds {{(exn i/o net)}}. 97 97 98 98 If the {{TCPPORT}} is omitted, the port is parsed from the {{HOSTNAME}} string. The format expected is {{HOSTNAME:PORT}}. The {{PORT}} can either be a string representation of an integer or a service name which is translated to an integer using the POSIX function [[http://www.opengroup.org/onlinepubs/009695399/functions/getservbyname.html|{{getservbyname}}]]. -
chicken/trunk/rules.make
r12117 r12227 1324 1324 $(MSVC_CHICKEN_EXPORT_FILES) chicken.info $(CLEAN_PCRE) $(CLEAN_MINGW_LIBS) \ 1325 1325 $(CLEAN_MANIFESTS) 1326 1326 1327 confclean: 1327 1328 -$(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) chicken-config.h chicken-defaults.h buildsvnrevision … … 1381 1382 cp chicken$(EXE) chicken-boot$(EXE) 1382 1383 touch *.scm 1384 $(MAKE) PLATFORM=$(PLATFORM) confclean 1383 1385 1384 1386 $(SRCDIR)bootstrap.tar.gz: distfiles -
chicken/trunk/setup-download.scm
r11966 r12227 38 38 (import extras regex posix utils setup-utils srfi-1 data-structures tcp 39 39 srfi-13 files) 40 41 (tcp-connect-timeout 10000) ; 10 seconds 42 (tcp-read-timeout 10000) 43 (tcp-write-timeout 10000) 40 44 41 45 (define *quiet* #f) … … 133 137 ""))) 134 138 (eggdir (make-pathname tmpdir egg))) 135 (create-directory eggdir) 139 (unless (file-exists? eggdir) 140 (create-directory eggdir)) 136 141 (http-fetch host port loc eggdir) 137 142 eggdir))
Note: See TracChangeset
for help on using the changeset viewer.