1
1
mirror of https://github.com/kanaka/mal.git synced 2024-09-20 01:57:09 +03:00
Commit Graph

1769 Commits

Author SHA1 Message Date
Joel Martin
206e6197e8 Basic: add pr-memory-summary core function.
- Remove test POKE commands.
2016-11-04 22:53:20 -05:00
Joel Martin
1e7b6f841f Ada: add ada/obj to .gitignore 2016-11-04 22:52:58 -05:00
Joel Martin
332611f520 README: note ChucK tested on more than just Arch. 2016-11-04 22:52:05 -05:00
Joel Martin
935930128c Basic: move logic/release stack to $C000
Uses stack PUSH*/POP*/PEEK* routines instead of direct X% and Y%
access. Seems to be about the same performance (maybe a 5% performance
hit at most).

This gives us a larger stack (1920 2-byte words of $C000 rather
than 200 words as before). The release stack at $CF00 stays the same
size (64 4-byte addr/level entries).

Also saves over 1K or program and array space. So take the opportunity
to expand Z% entry space from 3712 to 3950.
2016-11-04 21:46:45 -05:00
Joel Martin
c756af8196 Basic: reduce variables. Fix func printing.
- Save over 450 bytes. Bump up Z values by 128.
- Fix function printing when function is embedded in something else by
  using strings storage as a stack while printing rather than using
  RR$
- Simplify some error messages and sanity checks in RELEASE.
2016-11-04 00:07:09 -05:00
Joel Martin
6420f327cd Basic: add string memory mgt. Fix eval, symbol fns 2016-11-03 23:27:42 -05:00
Joel Martin
4fab6aa517 Basic: more memory savings
- Do the pop of CALL return value at the end of the subroutine
  (callee) rather than at the call point (caller)
- shorten some character variables (CH$->C$, CH->C)
- remove spaces after OPEN, GET
- print REPL header directly in BASIC code

Together saves 404 bytes of memory.
2016-11-02 23:36:44 -05:00
Joel Martin
259dd13c56 Basic: more aggressive space removal
Saves over 1200 bytes so that Z% value space can be bumped up by 256
entries.
2016-11-02 22:19:51 -05:00
Joel Martin
fba3aeb2fb Ada, C: fix step3 error handling.
New step3 tests were added during basic implementation that broke Ada
and C.
2016-11-01 10:44:49 -05:00
Joel Martin
2bcc46af48 Basic: capitalize BASIC
I guess.
2016-10-31 17:50:13 -05:00
Joel Martin
2bec1db017 Basic: update to 61 impls after merge. 2016-10-31 17:45:00 -05:00
Joel Martin
b3658328e4 Merge branch 'master' of github.com:kanaka/mal 2016-10-31 17:41:58 -05:00
Joel Martin
1b03073347 Merge branch 'basic' 2016-10-31 17:40:29 -05:00
Joel Martin
1b2453005e Basic: update the README. 2016-10-31 17:38:28 -05:00
Joel Martin
fd39f14b25 Merge pull request #247 from chr15m/php-interop-extended
Php interop extended
2016-10-31 10:20:04 -05:00
Joel Martin
0197588627 Basic: add QBasic support.
make MODE=qbasic stepA_mal.bas
qb64 stepA_mal.bas
2016-10-30 19:15:24 -05:00
Chris McCormick
29ebdb9c48 Added interop notes to README. 2016-10-29 12:32:26 +08:00
Chris McCormick
e7e13ef760 Merge branch 'master' into php-interop-extended 2016-10-29 12:29:33 +08:00
Chris McCormick
07eb8b944a Tests for new PHP interop functions. 2016-10-29 12:25:04 +08:00
Chris McCormick
42f9de6a8a Tighter PHP interop using '$' and '!' fns.
($ _SERVER) returns a mal hash-map holding the contents of the $_SERVER superglobal from PHP.
(! file_get_contents "https://github.com") returns a string containing the github homepage.
file_get_contents is a native PHP function.
2016-10-29 12:24:52 +08:00
Chris McCormick
f39b8db702 Allow printing of more PHP types.
In case return type from interop is a complex native PHP type.
2016-10-29 11:30:23 +08:00
Chris McCormick
5f0857261f New functions for converting between PHP and mal types. 2016-10-29 11:30:19 +08:00
Joel Martin
4b9b1d2506 Basic: enable Travis testing. 2016-10-28 22:05:30 -05:00
Joel Martin
37d75dc6dd Basic: pass required tests. Printer fix.
Also, move dissoc and hashmap equality tests to optional/soft since
they aren't actually needed for self-hosting.
2016-10-28 22:02:59 -05:00
Joel Martin
7381834f55 Basic: add Dockerfile
- installs patch cbmbasic
2016-10-28 21:57:35 -05:00
Joel Martin
5afc402eb8 Basic: d64 disk image build rules.
- Include .args.mal file and core.mal into the image.
2016-10-28 21:49:29 -05:00
Joel Martin
f813889535 Merge pull request #246 from def-/master
Update Nim to 0.15.2, clean up compiler warnings
2016-10-28 10:21:09 -05:00
Dennis Felsing
4dab2092b0 Update Nim to 0.15.2, clean up compiler warnings 2016-10-28 12:02:21 +02:00
Joel Martin
504df77e22 Merge pull request #245 from dubek/vimscript-use-vim8
Vimscript: Use Vim 8.0
2016-10-28 00:40:27 -05:00
Joel Martin
4e7d8a1bcf Basic: fix step6 arg test. Gensym. Misc cleanup.
- Strip linefeeds in run_argv_test.sh so that step6 arg test passes
  for basic.
- Add gensym and convert or macro.
- Add gitignore entries for transpiled basic sources.
- Add conj/seq stubs so that step4 self-host loads (if non-step4
  functions are commented out in core.mal)
- Bump up Z% value space by 256 spaces (1K)
- Remove old qb2cbm.sh
2016-10-28 00:09:56 -05:00
Joel Martin
d3439c903d Merge pull request #244 from chr15m/php-web-run
Allow web exec of a .mal file via symlinked php script.
2016-10-27 10:14:02 -05:00
Joel Martin
c7330b3d69 Basic: fix errors, reader, if form. Self-host 0-3
- Stop let binding eval on error. Also don't continue into EVAL if
  error.
- if without a false position was freeing up too much when it
  finished.
- fix reader so that it doesn't keep incrementing ref cnt of static
  empty sequences.
2016-10-26 22:29:09 -05:00
Joel Martin
de2f4de9b8 Basic: use static empty sequences in reader.
- Add vector and hash-map empty static sequences in types
2016-10-26 20:43:17 -05:00
Dov Murik
4fbbe5719c vimscript: Use map and lambda in EvalAst 2016-10-26 08:22:11 +00:00
Dov Murik
b628a22074 vimscript: Remove useless calls to ObjQ 2016-10-26 08:22:11 +00:00
Dov Murik
b0b1e16947 vimscript: Remove calls to ObjType 2016-10-26 08:22:11 +00:00
Dov Murik
82641edb65 vimscript: Remove calls to ObjValue 2016-10-26 08:22:05 +00:00
Joel Martin
af621e3aec Basic: implement CALL in basicpp.py and use it.
- Add clean rule to Makefile and restructure deps.
2016-10-26 01:26:05 -05:00
Chris McCormick
80c5fbb13c Documentation for the web-run functionality. 2016-10-26 08:56:57 +08:00
Dov Murik
43d175390a vimscript: Simplify *ARGV* setting using map and lambda 2016-10-25 22:43:28 +00:00
Dov Murik
549763e9f6 vimscript: Update Dockerfile to install Vim 8.0 2016-10-25 22:33:07 +00:00
Dov Murik
aa62cbda71 vimscript: Use Vim 8.0 lambdas to reduce boilerplate code 2016-10-25 22:33:02 +00:00
Dov Murik
816f0e2fc7 vimscript: Increase the unixtime base to make sure time-ms fits in a *positive* integer 2016-10-25 22:32:16 +00:00
Dov Murik
ab1c5d944c vimscript: Fix misinformation in comment 2016-10-25 22:32:16 +00:00
Joel Martin
8e3f833add Merge pull request #239 from wasamasa/picolisp
Picolisp
2016-10-25 17:20:07 -05:00
Vasilij Schneidermann
3e127081a4 Add interop and tests 2016-10-26 00:11:33 +02:00
Vasilij Schneidermann
b6263859a9 Extend README 2016-10-25 23:43:32 +02:00
Vasilij Schneidermann
b68230b821 Add docker support 2016-10-25 22:39:32 +02:00
Joel Martin
a2ca9d9450 Merge pull request #243 from wasamasa/assoc-update-tests
Ensure assoc updates maps properly
2016-10-25 11:15:03 -05:00
Joel Martin
e00c42c2d3 Merge pull request #242 from wasamasa/elisp-emacs25
Emacs 25.1 fixes
2016-10-25 11:07:07 -05:00