Comment

Comment by lispm

Lisp is strongly, implicit and dynamically typed, with type coercions. For example it provides generic arithmetic:

    * (let ((a 1)              ; integer
            (b 2.0)            ; default float
            (c 1/3)            ; ratio
            (d #c(1.2 2.3)))   ; complex number
        (+ a b c d))
    #C(4.5333333 2.3)
Variables A, B, C, D have no type declarations. The values usually carry type information. The + operation will take any numeric value and create a result value of a type it chooses. for example (+ 1/2 1/2) will result to 1. Adding ratios might create a ratio or an integer.

There is a whole bunch of literature on compiling Scheme:

https://github.com/scheme-live/library.readscheme.org/blob/m...

parent lispm 7 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton