mirror of
https://github.com/kanaka/mal.git
synced 2024-08-17 17:50:24 +03:00
8a19f60386
- Reorder README to have implementation list after "learning tool" bullet. - This also moves tests/ and libs/ into impls. It would be preferrable to have these directories at the top level. However, this causes difficulties with the wasm implementations which need pre-open directories and have trouble with paths starting with "../../". So in lieu of that, symlink those directories to the top-level. - Move the run_argv_test.sh script into the tests directory for general hygiene.
29 lines
600 B
Smalltalk
29 lines
600 B
Smalltalk
MALObject subclass: Func [
|
|
| ast params env fn isMacro |
|
|
|
|
ast [ ^ast ]
|
|
params [ ^params ]
|
|
env [ ^env ]
|
|
fn [ ^fn ]
|
|
isMacro [ ^isMacro ]
|
|
|
|
isMacro: bool [
|
|
isMacro := bool
|
|
]
|
|
|
|
Func class >> new: ast params: params env: env fn: fn [
|
|
| func |
|
|
func := super new: #func value: fn meta: nil.
|
|
func init: ast params: params env: env fn: fn.
|
|
^func
|
|
]
|
|
|
|
init: anAst params: someParams env: anEnv fn: aFn [
|
|
ast := anAst.
|
|
params := someParams.
|
|
env := anEnv.
|
|
fn := aFn.
|
|
isMacro := false
|
|
]
|
|
]
|