Permalink
Browse files

Update notes

  • Loading branch information...
marciof committed Dec 20, 2018
1 parent 67dfaf7 commit 49a7e6dd4d2ca7ae55563cb5b8ed8d113c2a4d4e
Showing with 8 additions and 5 deletions.
  1. +1 −1 specification/TODO.md
  2. +4 −4 stdlib/TODO.md
  3. +3 −0 stdlib/core.k
@@ -9,7 +9,7 @@
- http://www.infoq.com/presentations/Value-Identity-State-Rich-Hickey
- "Empirical Analysis of Programming Language Adoption", Leo A. Meyerovich, Ariel Rabkin: http://sns.cs.princeton.edu/docs/asr-oopsla13.pdf
- Look for best/worst features of other languages: OCaml, C, Common Lisp, JavaScript, Perl, Python, Scheme, Smalltalk, Java, Clojure, Self, Kotlin, Wren, F#, Matlab, Rust, Ruby, Go, Julia, Haskell, Erlang, Elixir, Typed Racket, PureScript, Elm, Io, ML, Lua, Haxe, Tcl, Shen, REBOL, Mathematica, HyperCard, Awk, Parabola.io, GNU Octave, Maxima Algebra System, Pascal, R
- Indentation based syntax? The REPL becomes the shell, it just adds global functions as commands and other niceties.
- Indentation based syntax? The REPL becomes the shell, it just adds global functions as commands and other utilities.
- If a line starts with a parenthesis it disables significant indentation inside the entire expression.
- Otherwise each new line is a function call, with same-line arguments passed as-is, and indented new lines passed as function calls, unless it's a keyword argument.
- All data types are callable as functions, and except for functions each value returns itself as the result.
@@ -1,7 +1,7 @@
- Add documentation.
- Add more extensive validation and more specific hierarchical errors.
- Close bindings in library functions.
- Support multiple arguments for boolean logic functions.
- Document constants and functions.
- Validate arguments.
- Close bindings in standard library functions.
- Support multiple arguments (eg. boolean logic functions, etc).
- Add a fuzzy matching operator: `=~`
- Build exceptions/conditions on top of `unwind`.
- `(rescue function handler)`
@@ -54,7 +54,10 @@
(evaluate bindings::2)
(evaluate bindings::3)))

# If only one evaluate it.
# Else remove first and call resursively.
\do: ...

\function: ...
\let: ...
}

0 comments on commit 49a7e6d

Please sign in to comment.