Questions tagged [iolanguage]

Io is a pure, prototype-based, object-oriented dynamic programming language.

Io is a prototype-based programming language inspired by

  • Smalltalk (all values are objects, all messages are dynamic),
  • Self (prototype-based),
  • NewtonScript (differential inheritance),
  • Act1 (actors and futures for concurrency),
  • Lisp (code is a runtime inspectable/modifiable tree)
  • and Lua (small, embeddable).

Features

  • BSD license
  • small vm (~10K semicolons)
  • multi-state (multiple VMs in same process)
  • incremental collector, weak links
  • actor-based concurrency, coroutines
  • 64bit clean C99 implementation
  • embeddable
  • exceptions

Philosophy

Io's goal is to explore conceptual unification and dynamic languages, so the tradeoffs tend to favor simplicity and flexibility over performance.

( sources iolanguage.com & Wikipedia )

65 questions
32
votes
3 answers

How do you replace existing operators without invoking them in Io?

I’m trying to complete the second exercise on IO day 2 in the book Seven Languages in Seven Days. In it your asked, “How would you change / to return 0 if the denominator is zero?” I've determined that I can add a method to Number using: Number…
Mark B
  • 2,870
  • 3
  • 20
  • 18
28
votes
1 answer

Whats the difference between newSlot and setSlot in the Io Language?

In the Io Language, there are 2 methods for creating slots: newSlot and setSlot. Both seem to have similar behavior except newSlot also creates a setter. What cases are there for a needing a setter to be created at the same time as slot creation?…
Dan
  • 710
  • 5
  • 15
20
votes
2 answers

Are there any applications written in the Io programming language? (Or, distributing Io applications.)

I've recently become interested in prototype-based OOP, and I've been playing with Io and Ioke. Distributing an application with Ioke is simple. It's on the JVM. Need I say more? However, I'm absolutely stumped as to how one would distribute an Io…
Rayne
  • 31,473
  • 17
  • 86
  • 101
12
votes
1 answer

How do I define my own operators in the Io programming language?

I'm trying to define my own operator in Io, and I'm having a hard time. I have an object: MyObject := Object clone do( lst := list() !! := method(n, lst at(n)) ) But when I call it, like this: x := MyObject clone do(lst appendSeq(list(1, 2,…
None
9
votes
5 answers

Does anyone know of a GUI library for the Io language

Io is a nice cross-platform prototype-based object-oriented language. Does anyone know of any GUI library for Io? Io's name does not make it Google friendly.
Marko
  • 30,263
  • 18
  • 74
  • 108
8
votes
4 answers

How do I convert a string to a list in Io?

For example, I'd like to turn "hello" into list(104, 101, 108, 108, 111) or list("h", "e", "l", "l", "o") So far I've created an empty list, used foreach and appended every item to the list myself, but that's not really a concise way to do it.
Jakob
  • 24,154
  • 8
  • 46
  • 57
8
votes
2 answers

How does Io language detect deadlock automatic?

I read that Io language has Futures which can detect deadlock automatic. I know nothing about it and have seen some syntax. How does Io language detect deadlocks with this?
user34537
7
votes
2 answers

Io framework to get starting learning Io (programming language)

Does anyone know of a MVC framework or whatever framework is a good one to get started using Io (the programming language).
thenengah
  • 42,557
  • 33
  • 113
  • 157
7
votes
1 answer

What does 'semicolon' mean as a unit of size

On the Io home page it mentions its small size, but it uses a unit of measure I've not seen before: small vm (~10K semicolons) Is this just the size in characters (~bytes), or is there something more subtle going on here?
FinnNk
  • 3,249
  • 23
  • 25
7
votes
1 answer

How do I import an addon in the Io language?

Specifically, I'm trying to use the Random addon. The documentation states addons should be loaded upon first use, which is also supported by Hyperpolyglot However, I get (running one of the sample programs) Exception: Object does not respond to…
Justin Love
  • 4,397
  • 25
  • 36
6
votes
2 answers

Io language 'apply arguments'

In the Io programming language, is there an equivalent to lisp's apply function. So for example I have a method to wrap writeln : mymeth := method( //do some extra stuff writeln(call message arguments)) ) At the moment…
lucas1000001
  • 2,740
  • 1
  • 25
  • 22
5
votes
1 answer

Io operators, cant seem to create them in a file

I've being experimenting with operators in the Io language. Everything works fine in the cli, but as soon as I put my code in files instead, I run into problems. Here's a tiny example (creating an operator +++ that does the same thing as…
Jakob
  • 24,154
  • 8
  • 46
  • 57
5
votes
2 answers

Io: Protocol 'https' unsupported

I am trying to fetch a file over HTTPS in Io language: url := URL with("https://api.example.com") url fetch println And I get this: Error_0x7f97e1509a80: location = "/opt/local/lib/io/addons/Socket/io/URL.io:232" message =…
piokuc
  • 25,594
  • 11
  • 72
  • 102
4
votes
1 answer

Errors while installing IO (language)

I am trying to install IO on a macbook pro but am stuck at the following: Linking CXX shared library _build/dll/libIoObjcBridge.dylib ld: library not found for -lIoSocket collect2: ld returned 1 exit status make[2]: *…
user204884
  • 1,745
  • 2
  • 19
  • 27
4
votes
1 answer

Io language user input

I recently started messing around with the Io programming language and think it's pretty fun and simple to learn. But I also hate that there is so little documentation and support for it. Normally I come to SO for help, but even on here the topic…
huSh
  • 55
  • 1
  • 10
1
2 3 4 5