├── .clang-format
├── .gitattributes
├── .github
└── workflows
│ └── ci.yml
├── .gitignore
├── .gitmodules
├── .travis.yml
├── CMakeLists.txt
├── LICENSE.txt
├── README.md
├── build.sh
├── docs
├── IoCodingStandards.html
├── IoGuide.html
├── IoTutorial.html
├── docs.css
├── js
│ ├── browser.js
│ └── jquery.js
└── reference
│ ├── Apple
│ ├── AppleSensors
│ │ ├── AppleSensors
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── Audio
│ ├── LibSndFile
│ │ ├── LibSndFile
│ │ │ └── index.html
│ │ ├── Sound
│ │ │ └── index.html
│ │ └── index.html
│ ├── Ogg
│ │ ├── OggPacket
│ │ │ └── index.html
│ │ ├── OggPage
│ │ │ └── index.html
│ │ ├── OggStreamState
│ │ │ └── index.html
│ │ ├── OggSyncState
│ │ │ └── index.html
│ │ └── index.html
│ ├── PortAudio
│ │ ├── AudioDevice
│ │ │ └── index.html
│ │ ├── AudioMixer
│ │ │ └── index.html
│ │ └── index.html
│ ├── SampleRateConverter
│ │ ├── SampleRateConverter
│ │ │ └── index.html
│ │ └── index.html
│ ├── SoundTouch
│ │ ├── SoundTouch
│ │ │ └── index.html
│ │ └── index.html
│ ├── TagLib
│ │ ├── TagLib
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── Bridges
│ ├── CFFI
│ │ ├── CFFI
│ │ │ └── index.html
│ │ ├── CFFIPointer
│ │ │ └── index.html
│ │ └── index.html
│ ├── ObjcBridge
│ │ ├── ObjcBridge
│ │ │ └── index.html
│ │ └── index.html
│ ├── Python
│ │ ├── Python
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── Compilers
│ ├── Loki
│ │ ├── Linker
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── Compression
│ ├── LZO
│ │ ├── LZO
│ │ │ └── index.html
│ │ ├── LZODecoder
│ │ │ └── index.html
│ │ ├── LZOEncoder
│ │ │ └── index.html
│ │ └── index.html
│ ├── Zlib
│ │ ├── Zlib
│ │ │ └── index.html
│ │ ├── ZlibDecoder
│ │ │ └── index.html
│ │ ├── ZlibEncoder
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── Concurrency
│ ├── Thread
│ │ ├── Thread
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── Core
│ ├── Core
│ │ ├── Block
│ │ │ └── index.html
│ │ ├── CFunction
│ │ │ └── index.html
│ │ ├── Call
│ │ │ └── index.html
│ │ ├── Collector
│ │ │ └── index.html
│ │ ├── Compiler
│ │ │ └── index.html
│ │ ├── Coroutine
│ │ │ └── index.html
│ │ ├── Date
│ │ │ └── index.html
│ │ ├── Debugger
│ │ │ └── index.html
│ │ ├── Directory
│ │ │ └── index.html
│ │ ├── DynLib
│ │ │ └── index.html
│ │ ├── Error
│ │ │ └── index.html
│ │ ├── Exception
│ │ │ └── index.html
│ │ ├── File
│ │ │ └── index.html
│ │ ├── List
│ │ │ └── index.html
│ │ ├── Map
│ │ │ └── index.html
│ │ ├── Message
│ │ │ └── index.html
│ │ ├── Number
│ │ │ └── index.html
│ │ ├── Object
│ │ │ └── index.html
│ │ ├── Profiler
│ │ │ └── index.html
│ │ ├── Sandbox
│ │ │ └── index.html
│ │ ├── Scheduler
│ │ │ └── index.html
│ │ ├── Sequence
│ │ │ └── index.html
│ │ ├── System
│ │ │ └── index.html
│ │ ├── WeakLink
│ │ │ └── index.html
│ │ └── index.html
│ ├── Flux
│ │ └── index.html
│ ├── NotificationCenter
│ │ ├── Notification
│ │ │ └── index.html
│ │ ├── NotificationCenter
│ │ │ └── index.html
│ │ ├── NotificationListener
│ │ │ └── index.html
│ │ └── index.html
│ ├── Range
│ │ ├── Range
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── Databases
│ ├── DBI
│ │ ├── DBI
│ │ │ └── index.html
│ │ ├── DBIConn
│ │ │ └── index.html
│ │ ├── DBIRecord
│ │ │ └── index.html
│ │ ├── DBIResult
│ │ │ └── index.html
│ │ └── index.html
│ ├── Memcached
│ │ ├── Memcached
│ │ │ └── index.html
│ │ └── index.html
│ ├── MySQL
│ │ ├── MySQL
│ │ │ └── index.html
│ │ └── index.html
│ ├── Obsidian
│ │ ├── Obsidian
│ │ │ └── index.html
│ │ ├── ObsidianClient
│ │ │ └── index.html
│ │ ├── ObsidianServer
│ │ │ └── index.html
│ │ ├── PDB
│ │ │ └── index.html
│ │ ├── PMap
│ │ │ └── index.html
│ │ ├── PObject
│ │ │ └── index.html
│ │ └── index.html
│ ├── Postgres
│ │ ├── Postgres
│ │ │ └── index.html
│ │ └── index.html
│ ├── QDBM
│ │ ├── QDBM
│ │ │ └── index.html
│ │ └── index.html
│ ├── SQLite
│ │ ├── SQLite
│ │ │ └── index.html
│ │ └── index.html
│ ├── SQLite3
│ │ ├── SQLite3
│ │ │ └── index.html
│ │ └── index.html
│ ├── SkipDB
│ │ ├── SkipDB
│ │ │ └── index.html
│ │ ├── SkipDBCursor
│ │ │ └── index.html
│ │ ├── SkipDBM
│ │ │ └── index.html
│ │ └── index.html
│ ├── SqlDatabase
│ │ ├── SqlDatabase
│ │ │ └── index.html
│ │ └── index.html
│ ├── TagDB
│ │ ├── TagDB
│ │ │ └── index.html
│ │ └── index.html
│ ├── TokyoCabinet
│ │ ├── TokyoCabinet
│ │ │ └── index.html
│ │ ├── TokyoCabinetCursor
│ │ │ └── index.html
│ │ ├── TokyoCabinetPrefixCursor
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── Digests
│ ├── MD5
│ │ ├── MD5
│ │ │ └── index.html
│ │ └── index.html
│ ├── Oauth
│ │ ├── Oauth
│ │ │ └── index.html
│ │ └── index.html
│ ├── SHA1
│ │ ├── SHA1
│ │ │ └── index.html
│ │ └── index.html
│ ├── UUID
│ │ ├── UUID
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── Encryption
│ ├── Blowfish
│ │ ├── Blowfish
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── Filesystem
│ ├── AsyncRequest
│ │ ├── AsyncRequest
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── Graphics
│ ├── Box
│ │ └── index.html
│ ├── Cairo
│ │ ├── Cairo
│ │ │ └── index.html
│ │ ├── CairoContext
│ │ │ └── index.html
│ │ ├── CairoExtents
│ │ │ └── index.html
│ │ ├── CairoFontExtents
│ │ │ └── index.html
│ │ ├── CairoFontFace
│ │ │ └── index.html
│ │ ├── CairoFontOptions
│ │ │ └── index.html
│ │ ├── CairoGlyph
│ │ │ └── index.html
│ │ ├── CairoGradient
│ │ │ └── index.html
│ │ ├── CairoImageSurface
│ │ │ └── index.html
│ │ ├── CairoLinearGradient
│ │ │ └── index.html
│ │ ├── CairoMatrix
│ │ │ └── index.html
│ │ ├── CairoPath
│ │ │ └── index.html
│ │ ├── CairoPathElement
│ │ │ └── index.html
│ │ ├── CairoPattern
│ │ │ └── index.html
│ │ ├── CairoRadialGradient
│ │ │ └── index.html
│ │ ├── CairoRectangle
│ │ │ └── index.html
│ │ ├── CairoScaledFont
│ │ │ └── index.html
│ │ ├── CairoSolidPattern
│ │ │ └── index.html
│ │ ├── CairoSurface
│ │ │ └── index.html
│ │ ├── CairoSurfacePattern
│ │ │ └── index.html
│ │ ├── CairoTextExtents
│ │ │ └── index.html
│ │ └── index.html
│ ├── Font
│ │ ├── Font
│ │ │ └── index.html
│ │ └── index.html
│ ├── GLFW
│ │ ├── GLFW
│ │ │ └── index.html
│ │ └── index.html
│ ├── Image
│ │ ├── Image
│ │ │ └── index.html
│ │ └── index.html
│ ├── OpenGL
│ │ ├── Box
│ │ │ └── index.html
│ │ ├── GLApp
│ │ │ └── index.html
│ │ ├── GLScissor
│ │ │ └── index.html
│ │ ├── GLU
│ │ │ └── index.html
│ │ ├── GLUQuadric
│ │ │ └── index.html
│ │ ├── GLUT
│ │ │ └── index.html
│ │ ├── OpenGL
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── Math
│ ├── BigNum
│ │ ├── BigNum
│ │ │ └── index.html
│ │ └── index.html
│ ├── ContinuedFraction
│ │ ├── ContinuedFraction
│ │ │ └── index.html
│ │ └── index.html
│ ├── Random
│ │ ├── Random
│ │ │ └── index.html
│ │ └── index.html
│ ├── Rational
│ │ ├── Rational
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── Networking
│ ├── Beanstalk
│ │ ├── Beanstalk
│ │ │ └── index.html
│ │ └── index.html
│ ├── CGI
│ │ ├── CGI
│ │ │ └── index.html
│ │ └── index.html
│ ├── DistributedObjects
│ │ ├── DOConnection
│ │ │ └── index.html
│ │ ├── DOProxy
│ │ │ └── index.html
│ │ ├── DOServer
│ │ │ └── index.html
│ │ ├── MDOConnection
│ │ │ └── index.html
│ │ ├── MDOServer
│ │ │ └── index.html
│ │ └── index.html
│ ├── GoogleSearch
│ │ ├── GooglePage
│ │ │ └── index.html
│ │ ├── GoogleSearch
│ │ │ └── index.html
│ │ └── index.html
│ ├── HttpClient
│ │ ├── HCConnection
│ │ │ └── index.html
│ │ ├── HCRequest
│ │ │ └── index.html
│ │ ├── HCResponse
│ │ │ └── index.html
│ │ ├── HCResponseParser
│ │ │ └── index.html
│ │ ├── HCUrl
│ │ │ └── index.html
│ │ └── index.html
│ ├── Loudmouth
│ │ ├── JID
│ │ │ └── index.html
│ │ ├── Loudmouth
│ │ │ └── index.html
│ │ ├── LoudmouthMessage
│ │ │ └── index.html
│ │ ├── XmppChatMessage
│ │ │ └── index.html
│ │ └── index.html
│ ├── NetworkAdapter
│ │ ├── NetworkAdapter
│ │ │ └── index.html
│ │ └── index.html
│ ├── SecureSocket
│ │ ├── Certificate
│ │ │ └── index.html
│ │ ├── SecureClient
│ │ │ └── index.html
│ │ ├── SecureServer
│ │ │ └── index.html
│ │ ├── SecureSocket
│ │ │ └── index.html
│ │ └── index.html
│ ├── Socket
│ │ ├── DNS
│ │ │ └── index.html
│ │ ├── DNSQuery
│ │ │ └── index.html
│ │ ├── DNSServer
│ │ │ └── index.html
│ │ ├── EvConnection
│ │ │ └── index.html
│ │ ├── EvRequest
│ │ │ └── index.html
│ │ ├── Event
│ │ │ └── index.html
│ │ ├── EventManager
│ │ │ └── index.html
│ │ ├── Host
│ │ │ └── index.html
│ │ ├── IPAddress
│ │ │ └── index.html
│ │ ├── ReadEvent
│ │ │ └── index.html
│ │ ├── Server
│ │ │ └── index.html
│ │ ├── SignalEvent
│ │ │ └── index.html
│ │ ├── Socket
│ │ │ └── index.html
│ │ ├── TimerEvent
│ │ │ └── index.html
│ │ ├── URL
│ │ │ └── index.html
│ │ ├── WriteEvent
│ │ │ └── index.html
│ │ └── index.html
│ ├── Twitter
│ │ ├── TwitterAccount
│ │ │ └── index.html
│ │ ├── TwitterAccountProfile
│ │ │ └── index.html
│ │ ├── TwitterException
│ │ │ └── index.html
│ │ ├── TwitterFollowersCursor
│ │ │ └── index.html
│ │ ├── TwitterFriendsCursor
│ │ │ └── index.html
│ │ ├── TwitterRequest
│ │ │ └── index.html
│ │ ├── TwitterResponse
│ │ │ └── index.html
│ │ ├── TwitterSearch
│ │ │ └── index.html
│ │ ├── TwitterSearchCursor
│ │ │ └── index.html
│ │ └── index.html
│ ├── Volcano
│ │ ├── VolcanoServer
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── Parsers
│ ├── Fnmatch
│ │ ├── Fnmatch
│ │ │ └── index.html
│ │ └── index.html
│ ├── Libxml2
│ │ ├── XmlReader
│ │ │ └── index.html
│ │ ├── XmlWriter
│ │ │ └── index.html
│ │ └── index.html
│ ├── Regex
│ │ ├── Regex
│ │ │ └── index.html
│ │ ├── RegexMatch
│ │ │ └── index.html
│ │ ├── RegexMatches
│ │ │ └── index.html
│ │ └── index.html
│ ├── SGML
│ │ ├── SGMLElement
│ │ │ └── index.html
│ │ ├── SGMLParser
│ │ │ └── index.html
│ │ └── index.html
│ ├── Yajl
│ │ ├── YajlGenParser
│ │ │ └── index.html
│ │ ├── YajlParser
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── Physics
│ ├── ODE
│ │ ├── ODEBall
│ │ │ └── index.html
│ │ ├── ODEBody
│ │ │ └── index.html
│ │ ├── ODEBox
│ │ │ └── index.html
│ │ ├── ODEContact
│ │ │ └── index.html
│ │ ├── ODEContactJoint
│ │ │ └── index.html
│ │ ├── ODEFixed
│ │ │ └── index.html
│ │ ├── ODEHinge
│ │ │ └── index.html
│ │ ├── ODEHinge2
│ │ │ └── index.html
│ │ ├── ODEJoint
│ │ │ └── index.html
│ │ ├── ODEJointGroup
│ │ │ └── index.html
│ │ ├── ODEMass
│ │ │ └── index.html
│ │ ├── ODEPlane
│ │ │ └── index.html
│ │ ├── ODESimpleSpace
│ │ │ └── index.html
│ │ ├── ODEWorld
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── Server
│ ├── Curses
│ │ ├── Curses
│ │ │ └── index.html
│ │ └── index.html
│ ├── EditLine
│ │ ├── EditLine
│ │ │ └── index.html
│ │ └── index.html
│ ├── NullAddon
│ │ ├── NullAddon
│ │ │ └── index.html
│ │ └── index.html
│ ├── ReadLine
│ │ ├── ReadLine
│ │ │ └── index.html
│ │ └── index.html
│ ├── Syslog
│ │ ├── Syslog
│ │ │ └── index.html
│ │ └── index.html
│ ├── SystemCall
│ │ ├── SystemCall
│ │ │ └── index.html
│ │ └── index.html
│ ├── User
│ │ ├── User
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── UserInterface
│ ├── Clutter
│ │ ├── Clutter
│ │ │ └── index.html
│ │ ├── ClutterActor
│ │ │ └── index.html
│ │ ├── ClutterActorBox
│ │ │ └── index.html
│ │ ├── ClutterColor
│ │ │ └── index.html
│ │ ├── ClutterEvent
│ │ │ └── index.html
│ │ ├── ClutterInputDevice
│ │ │ └── index.html
│ │ ├── ClutterShader
│ │ │ └── index.html
│ │ ├── ClutterStage
│ │ │ └── index.html
│ │ ├── ClutterUnits
│ │ │ └── index.html
│ │ ├── ClutterVertex
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── Video
│ ├── AVCodec
│ │ ├── AVCodec
│ │ │ └── index.html
│ │ └── index.html
│ ├── Theora
│ │ ├── TheoraComment
│ │ │ └── index.html
│ │ ├── TheoraDecodeContext
│ │ │ └── index.html
│ │ ├── TheoraInfo
│ │ │ └── index.html
│ │ ├── TheoraSetupInfo
│ │ │ └── index.html
│ │ └── index.html
│ ├── Vorbis
│ │ ├── VorbisBlock
│ │ │ └── index.html
│ │ ├── VorbisComment
│ │ │ └── index.html
│ │ ├── VorbisDspState
│ │ │ └── index.html
│ │ ├── VorbisInfo
│ │ │ └── index.html
│ │ └── index.html
│ └── index.html
│ ├── docs.json
│ └── index.html
├── extras
├── IoLanguageKit
│ ├── IoLanguageKit.h
│ ├── IoLanguageKit.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcuserdata
│ │ │ │ └── steve.xcuserdatad
│ │ │ │ ├── UserInterfaceState.xcuserstate
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ └── xcuserdata
│ │ │ └── steve.xcuserdatad
│ │ │ └── xcschemes
│ │ │ ├── IoLanguageKit.xcscheme
│ │ │ └── xcschememanagement.plist
│ ├── IoLanguageKit
│ │ ├── IoLanguageKit-Info.plist
│ │ ├── IoLanguageKit-Prefix.pch
│ │ └── en.lproj
│ │ │ └── InfoPlist.strings
│ ├── cleanup.io
│ ├── libevent_core.a
│ ├── libevent_extra.a
│ └── libyajl_s.a
├── IoTest
│ ├── IoTest.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcuserdata
│ │ │ │ └── steve.xcuserdatad
│ │ │ │ └── UserInterfaceState.xcuserstate
│ │ └── xcuserdata
│ │ │ └── steve.xcuserdatad
│ │ │ ├── xcdebugger
│ │ │ └── Breakpoints.xcbkptlist
│ │ │ └── xcschemes
│ │ │ ├── IoTest.xcscheme
│ │ │ └── xcschememanagement.plist
│ └── IoTest
│ │ ├── IoBrowserController.h
│ │ ├── IoBrowserController.m
│ │ ├── IoCLIController.h
│ │ ├── IoCLIController.m
│ │ ├── IoTest-Info.plist
│ │ ├── IoTest-Prefix.pch
│ │ ├── en.lproj
│ │ ├── Credits.rtf
│ │ ├── InfoPlist.strings
│ │ └── MainMenu.xib
│ │ └── main.m
├── SyntaxHighlighters
│ ├── Emacs
│ │ ├── io-mode-old.el
│ │ └── io-mode.el
│ ├── IntelliJ
│ │ ├── Io.xml
│ │ └── readme.txt
│ ├── Io.tmbundle
│ │ ├── Commands
│ │ │ ├── Run Io Program (ioServer).plist
│ │ │ └── Run.plist
│ │ ├── Preferences
│ │ │ ├── Indent.tmPreferences
│ │ │ └── Typing Pattern.tmPreferences
│ │ ├── Snippets
│ │ │ ├── actorRun.tmSnippet
│ │ │ ├── ancestorWithSlot.tmSnippet
│ │ │ ├── ancestors.tmSnippet
│ │ │ ├── appendProto.tmSnippet
│ │ │ ├── asCharacter.tmSnippet
│ │ │ ├── asNumber 2.tmSnippet
│ │ │ ├── asNumber.tmSnippet
│ │ │ ├── asSimpleString.tmSnippet
│ │ │ ├── asString.tmSnippet
│ │ │ ├── between.tmSnippet
│ │ │ ├── bitwiseAnd.tmSnippet
│ │ │ ├── bitwiseComplement.tmSnippet
│ │ │ ├── bitwiseOr.tmSnippet
│ │ │ ├── bitwiseXor.tmSnippet
│ │ │ ├── block.tmSnippet
│ │ │ ├── catch.tmSnippet
│ │ │ ├── clone.tmSnippet
│ │ │ ├── coroDo.tmSnippet
│ │ │ ├── do.tmSnippet
│ │ │ ├── doFile.tmSnippet
│ │ │ ├── doMessage.tmSnippet
│ │ │ ├── doString.tmSnippet
│ │ │ ├── docCategory.tmSnippet
│ │ │ ├── docCopyright.tmSnippet
│ │ │ ├── docCredits.tmSnippet
│ │ │ ├── docDescription.tmSnippet
│ │ │ ├── docLicense.tmSnippet
│ │ │ ├── docObject.tmSnippet
│ │ │ ├── docSlot.tmSnippet
│ │ │ ├── getLocalSlot.tmSnippet
│ │ │ ├── getSlot.tmSnippet
│ │ │ ├── hasLocalSlot.tmSnippet
│ │ │ ├── hasSlot.tmSnippet
│ │ │ ├── if.tmSnippet
│ │ │ ├── isKindOf.tmSnippet
│ │ │ ├── isNil.tmSnippet
│ │ │ ├── message.tmSnippet
│ │ │ ├── method.tmSnippet
│ │ │ ├── newSlot.tmSnippet
│ │ │ ├── perform.tmSnippet
│ │ │ ├── performWithArgList.tmSnippet
│ │ │ ├── prependProto.tmSnippet
│ │ │ ├── removeAllProtos.tmSnippet
│ │ │ ├── removeProto.tmSnippet
│ │ │ ├── removeSlot.tmSnippet
│ │ │ ├── return.tmSnippet
│ │ │ ├── setSlot.tmSnippet
│ │ │ ├── setSlotWithType.tmSnippet
│ │ │ ├── try.tmSnippet
│ │ │ ├── updateSlot.tmSnippet
│ │ │ └── while.tmSnippet
│ │ ├── Syntaxes
│ │ │ └── Io.plist
│ │ ├── Templates
│ │ │ └── Io.tmTemplate
│ │ │ │ ├── info.plist
│ │ │ │ └── source.io
│ │ └── info.plist
│ ├── JEdit
│ │ ├── _ReadMe.txt
│ │ └── io.xml
│ ├── Kate
│ │ └── io.xml
│ ├── Komodo
│ │ └── io-1.2-ko.xpi
│ ├── Scintilla
│ │ └── Io.properties
│ ├── Smultron
│ │ └── io.plist
│ ├── SubEthaEdit
│ │ ├── Io.mode
│ │ │ └── Contents
│ │ │ │ ├── Info.plist
│ │ │ │ └── Resources
│ │ │ │ ├── English.lproj
│ │ │ │ └── InfoPlist.strings
│ │ │ │ ├── RegexSymbols.xml
│ │ │ │ ├── SyntaxDefinition.xml
│ │ │ │ └── pole.gif
│ │ ├── Io.plist
│ │ ├── SubEthaEdit Io mode read me.txt
│ │ └── io.seestyle
│ ├── Vim
│ │ └── io.vim
│ └── XCode
│ │ ├── Io.pbfilespec
│ │ ├── Io.pblangspec
│ │ └── _ReadMe.txt
├── osx
│ ├── osx.1
│ └── osx.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── steve.mode1
│ │ ├── steve.mode2v3
│ │ └── steve.pbxuser
├── osxvm
│ └── osxvm.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ ├── xcshareddata
│ │ │ └── osxvm.xccheckout
│ │ └── xcuserdata
│ │ │ └── steve.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ │ ├── steve.mode1
│ │ ├── steve.mode2v3
│ │ └── xcuserdata
│ │ └── steve.xcuserdatad
│ │ ├── xcdebugger
│ │ └── Breakpoints.xcbkptlist
│ │ └── xcschemes
│ │ ├── osxvm.xcscheme
│ │ └── xcschememanagement.plist
├── symbian
│ ├── ABLD.BAT
│ ├── Bld.inf
│ ├── SymbianSockets.cpp
│ ├── SymbianSockets.h
│ ├── io.mmp
│ ├── io.rss
│ ├── symbianmain.cpp
│ └── symbianmain.h
├── win32vc10
│ └── io
│ │ ├── basekit
│ │ ├── basekit.vcxproj
│ │ └── basekit.vcxproj.filters
│ │ ├── coroutine
│ │ ├── coroutine.vcxproj
│ │ └── coroutine.vcxproj.filters
│ │ ├── garbagecollector
│ │ ├── garbagecollector.vcxproj
│ │ └── garbagecollector.vcxproj.filters
│ │ ├── io.sln
│ │ ├── io
│ │ ├── io.vcxproj
│ │ └── io.vcxproj.filters
│ │ ├── io2c
│ │ ├── io2c.vcxproj
│ │ └── io2c.vcxproj.filters
│ │ └── iovm
│ │ ├── iovm.vcxproj
│ │ ├── iovm.vcxproj.filters
│ │ └── scripts
│ │ ├── microsed.js
│ │ └── microxargs.js
├── win32vc2005
│ ├── FreeType
│ │ └── FreeType.vcproj
│ ├── Io.sln
│ ├── IoApp
│ │ ├── IoApp.vcproj
│ │ ├── IoAppSetup.c
│ │ ├── IoAppSetup.h
│ │ └── main.c
│ ├── IoImage
│ │ └── IoImage.vcproj
│ ├── IoJPEG
│ │ └── IoJPEG.vcproj
│ ├── IoMath
│ │ └── IoMath.vcproj
│ ├── IoOpenGL
│ │ └── IoOpenGL.vcproj
│ ├── IoPNG
│ │ └── IoPNG.vcproj
│ ├── IoTIFF
│ │ └── IoTIFF.vcproj
│ ├── IoVM
│ │ └── IoVM.vcproj
│ ├── freeglut-2.2.0
│ │ ├── doc
│ │ │ ├── download.html
│ │ │ ├── freeglut.html
│ │ │ ├── freeglut_user_interface.html
│ │ │ ├── index.html
│ │ │ ├── progress.html
│ │ │ └── structure.html
│ │ ├── include
│ │ │ └── GL
│ │ │ │ ├── freeglut.h
│ │ │ │ ├── freeglut_ext.h
│ │ │ │ ├── freeglut_std.h
│ │ │ │ └── glut.h
│ │ └── src
│ │ │ ├── freeglut_callbacks.c
│ │ │ ├── freeglut_cursor.c
│ │ │ ├── freeglut_display.c
│ │ │ ├── freeglut_ext.c
│ │ │ ├── freeglut_font.c
│ │ │ ├── freeglut_font_data.c
│ │ │ ├── freeglut_gamemode.c
│ │ │ ├── freeglut_geometry.c
│ │ │ ├── freeglut_glutfont_definitions.c
│ │ │ ├── freeglut_init.c
│ │ │ ├── freeglut_internal.h
│ │ │ ├── freeglut_joystick.c
│ │ │ ├── freeglut_main.c
│ │ │ ├── freeglut_menu.c
│ │ │ ├── freeglut_misc.c
│ │ │ ├── freeglut_overlay.c
│ │ │ ├── freeglut_state.c
│ │ │ ├── freeglut_stroke_mono_roman.c
│ │ │ ├── freeglut_stroke_roman.c
│ │ │ ├── freeglut_structure.c
│ │ │ ├── freeglut_teapot.c
│ │ │ ├── freeglut_videoresize.c
│ │ │ └── freeglut_window.c
│ └── freeglut
│ │ └── freeglut.vcproj
└── xcode
│ └── Io
│ ├── Io.xcodeproj
│ └── project.pbxproj
│ └── Io
│ ├── Io-Info.plist
│ ├── Io-Prefix.pch
│ ├── IoAppDelegate.h
│ ├── IoAppDelegate.m
│ ├── TextDelegate.h
│ ├── TextDelegate.m
│ ├── en.lproj
│ ├── Credits.rtf
│ ├── InfoPlist.strings
│ └── MainMenu.xib
│ └── main.m
├── libs
├── CMakeLists.txt
├── basekit
│ ├── CMakeLists.txt
│ ├── LICENSE.txt
│ ├── Makefile.lib
│ ├── depends
│ └── source
│ │ ├── BStream.c
│ │ ├── BStream.h
│ │ ├── BStreamTag.c
│ │ ├── BStreamTag.h
│ │ ├── Base.h
│ │ ├── CHash.c
│ │ ├── CHash.h
│ │ ├── CHash_inline.h
│ │ ├── Common.c
│ │ ├── Common.h
│ │ ├── Common_inline.h
│ │ ├── Date.c
│ │ ├── Date.h
│ │ ├── Duration.c
│ │ ├── Duration.h
│ │ ├── DynLib.c
│ │ ├── DynLib.h
│ │ ├── Hash_fnv.c
│ │ ├── Hash_fnv.h
│ │ ├── Hash_murmur.c
│ │ ├── Hash_murmur.h
│ │ ├── Hash_superfast.c
│ │ ├── Hash_superfast.h
│ │ ├── List.c
│ │ ├── List.h
│ │ ├── List_inline.h
│ │ ├── MainArgs.c
│ │ ├── MainArgs.h
│ │ ├── PointerHash.c
│ │ ├── PointerHash.h
│ │ ├── PointerHash_inline.h
│ │ ├── PointerHash_struct.h
│ │ ├── PortableGettimeofday.c
│ │ ├── PortableGettimeofday.h
│ │ ├── PortableSnprintf.c
│ │ ├── PortableSorting.c
│ │ ├── PortableSorting.h
│ │ ├── PortableStdint.h
│ │ ├── PortableStrlcpy.c
│ │ ├── PortableStrlcpy.h
│ │ ├── PortableStrptime.c
│ │ ├── PortableStrptime.h
│ │ ├── PortableTruncate.c
│ │ ├── PortableTruncate.h
│ │ ├── PortableUsleep.c
│ │ ├── PortableUsleep.h
│ │ ├── RandomGen.c
│ │ ├── RandomGen.h
│ │ ├── Stack.c
│ │ ├── Stack.h
│ │ ├── Stack_inline.h
│ │ ├── UArray.c
│ │ ├── UArray.h
│ │ ├── UArray_character.c
│ │ ├── UArray_character.h
│ │ ├── UArray_format.c
│ │ ├── UArray_format.h
│ │ ├── UArray_math.c
│ │ ├── UArray_math.h
│ │ ├── UArray_path.c
│ │ ├── UArray_path.h
│ │ ├── UArray_stream.c
│ │ ├── UArray_stream.h
│ │ ├── UArray_string.c
│ │ ├── UArray_string.h
│ │ ├── UArray_utf.c
│ │ ├── UArray_utf.h
│ │ ├── _new
│ │ └── Directory.c
│ │ ├── cdecode.c
│ │ ├── cdecode.h
│ │ ├── cencode.c
│ │ ├── cencode.h
│ │ ├── simd_cph
│ │ ├── LICENSE.txt
│ │ ├── docs
│ │ │ └── LICENSE.txt
│ │ ├── include
│ │ │ ├── simd_cp.h
│ │ │ ├── simd_cp_arm-iwmmx.h
│ │ │ ├── simd_cp_emu.h
│ │ │ └── simd_cp_x86.h
│ │ ├── simd_cph.readme
│ │ └── test
│ │ │ ├── Makefile
│ │ │ ├── test_simd.c
│ │ │ └── test_simd_emu
│ │ ├── ucs2.c
│ │ ├── ucs4.c
│ │ ├── utf8.c
│ │ ├── utf8.h
│ │ ├── utf8internal.h
│ │ ├── utf_convert.c
│ │ └── utf_convert.h
├── coroutine
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── LICENSE.txt
│ ├── depends
│ ├── docs
│ │ └── index.html
│ ├── samples
│ │ ├── Makefile
│ │ └── twoCoroTest.c
│ └── source
│ │ ├── 386-ucontext.h
│ │ ├── Coro.c
│ │ ├── Coro.h
│ │ ├── amd64-ucontext.h
│ │ ├── asm.S
│ │ ├── context.c
│ │ ├── power-ucontext.h
│ │ └── taskimpl.h
├── garbagecollector
│ ├── CMakeLists.txt
│ ├── LICENSE.txt
│ ├── depends
│ ├── docs
│ │ └── index.html
│ └── source
│ │ ├── Collector.c
│ │ ├── Collector.h
│ │ ├── CollectorMarker.c
│ │ ├── CollectorMarker.h
│ │ ├── CollectorMarker_inline.h
│ │ └── Collector_inline.h
└── iovm
│ ├── CMakeLists.txt
│ ├── LICENSE.txt
│ ├── depends
│ ├── io
│ ├── A0_List.io
│ ├── A0_Object.io
│ ├── A1_OperatorTable.io
│ ├── A2_Object.io
│ ├── A3_List.io
│ ├── A4_Exception.io
│ ├── Actor.io
│ ├── AddonLoader.io
│ ├── B_Sequence.io
│ ├── Block.io
│ ├── CFunction.io
│ ├── Date.io
│ ├── Debugger.io
│ ├── Directory.io
│ ├── DynLib.io
│ ├── Error.io
│ ├── File.io
│ ├── List_schwartzian.io
│ ├── Map.io
│ ├── Message.io
│ ├── Number.io
│ ├── Profiler.io
│ ├── Sandbox.io
│ ├── Serialize.io
│ ├── System.io
│ ├── UnitTest.io
│ ├── Vector.io
│ ├── Y_Path.io
│ ├── Z_CLI.io
│ ├── Z_Importer.io
│ ├── _old
│ │ ├── A0__.io
│ │ └── A1_optransform.io
│ └── _test
│ │ ├── Compiler.io
│ │ └── System.io
│ ├── samples
│ └── VectorPerformance.io
│ ├── source
│ ├── IoBlock.c
│ ├── IoBlock.h
│ ├── IoCFunction.c
│ ├── IoCFunction.h
│ ├── IoCall.c
│ ├── IoCall.h
│ ├── IoCollector.c
│ ├── IoCollector.h
│ ├── IoCompiler.c
│ ├── IoCompiler.h
│ ├── IoConfig.h
│ ├── IoContext.h
│ ├── IoCoroutine.c
│ ├── IoCoroutine.h
│ ├── IoDate.c
│ ├── IoDate.h
│ ├── IoDebugger.c
│ ├── IoDebugger.h
│ ├── IoDirectory.c
│ ├── IoDirectory.h
│ ├── IoDuration.c
│ ├── IoDuration.h
│ ├── IoDynLib.c
│ ├── IoDynLib.h
│ ├── IoError.c
│ ├── IoError.h
│ ├── IoFile.c
│ ├── IoFile.h
│ ├── IoFile_stat.c
│ ├── IoFile_stat.h
│ ├── IoLexer.c
│ ├── IoLexer.h
│ ├── IoList.c
│ ├── IoList.h
│ ├── IoMap.c
│ ├── IoMap.h
│ ├── IoMessage.c
│ ├── IoMessage.h
│ ├── IoMessage_inline.h
│ ├── IoMessage_opShuffle.c
│ ├── IoMessage_opShuffle.h
│ ├── IoMessage_parser.c
│ ├── IoMessage_parser.h
│ ├── IoNumber.c
│ ├── IoNumber.h
│ ├── IoObject.c
│ ├── IoObject.h
│ ├── IoObject_flow.c
│ ├── IoObject_flow.h
│ ├── IoObject_inline.h
│ ├── IoObject_struct.h
│ ├── IoProfiler.c
│ ├── IoProfiler.h
│ ├── IoSandbox.c
│ ├── IoSandbox.h
│ ├── IoSeq.c
│ ├── IoSeq.h
│ ├── IoSeq_immutable.c
│ ├── IoSeq_immutable.h
│ ├── IoSeq_inline.h
│ ├── IoSeq_mutable.c
│ ├── IoSeq_mutable.h
│ ├── IoSeq_vector.c
│ ├── IoSeq_vector.h
│ ├── IoState.c
│ ├── IoState.h
│ ├── IoState_callbacks.c
│ ├── IoState_callbacks.h
│ ├── IoState_coros.c
│ ├── IoState_coros.h
│ ├── IoState_debug.c
│ ├── IoState_debug.h
│ ├── IoState_eval.c
│ ├── IoState_eval.h
│ ├── IoState_exceptions.c
│ ├── IoState_exceptions.h
│ ├── IoState_inline.h
│ ├── IoState_symbols.c
│ ├── IoState_symbols.h
│ ├── IoSystem.c
│ ├── IoSystem.h
│ ├── IoTag.c
│ ├── IoTag.h
│ ├── IoTag_inline.h
│ ├── IoToken.c
│ ├── IoToken.h
│ ├── IoVM.h
│ ├── IoVMApi.h
│ ├── IoVersion.h
│ ├── IoWeakLink.c
│ ├── IoWeakLink.h
│ ├── PHash.c
│ ├── PHash.h
│ ├── PHash_inline.h
│ └── PHash_struct.h
│ ├── tests
│ └── correctness
│ │ ├── AlignTest.io
│ │ ├── BigSourceFileTest.io
│ │ ├── BlockTest.io
│ │ ├── CoroTest.io
│ │ ├── DateTest.io
│ │ ├── DirectoryTest.io
│ │ ├── FileTest.io
│ │ ├── IfTest.io
│ │ ├── ListTest.io
│ │ ├── LoopBreakingTest.io
│ │ ├── LoopTest.io
│ │ ├── MapTest.io
│ │ ├── MessageTest.io
│ │ ├── MiscTest.io
│ │ ├── NumberTest.io
│ │ ├── ObjectTest.io
│ │ ├── SequenceBitTest.io
│ │ ├── SequenceTest.io
│ │ ├── SwitchTest.io
│ │ ├── TraitsTest.io
│ │ ├── UnicodeTest-helper
│ │ ├── UnicodeTest.txt
│ │ └── printer.io
│ │ ├── UnicodeTest.io
│ │ ├── VectorCompareTest.io
│ │ ├── VectorTest.io
│ │ ├── WeakLinkTest.io
│ │ └── run.io
│ └── tools
│ ├── CMakeLists.txt
│ └── io2c.c
├── samples
├── misc
│ ├── Account.io
│ ├── Ackermann.io
│ ├── BottlesOfBeer.io
│ ├── Brackets.io
│ ├── Cards.io
│ ├── CommandLineArgs.io
│ ├── Conditions.io
│ ├── Control.io
│ ├── ControlFlow.io
│ ├── Decompile.io
│ ├── Dir.io
│ ├── ErlangChallenge.io
│ ├── FizzBuzz.io
│ ├── Foreach.io
│ ├── Hanoi.io
│ ├── HelloWorld.io
│ ├── Inheritance.io
│ ├── MainFile.io
│ ├── SimpleCoro.io
│ ├── Sort.io
│ ├── Super.io
│ ├── WeakLink.io
│ ├── except.io
│ ├── qsort.io
│ └── vtest.io
├── shootout
│ ├── binarytrees.io
│ ├── chameneos.io
│ ├── cheapconcurrency.io
│ ├── fannkuch.io
│ ├── fasta.io
│ ├── mandelbrot-output.txt
│ ├── mandelbrot.io
│ ├── nbody.io
│ ├── nsieve.io
│ ├── nsievebits.io
│ ├── partialsums.io
│ ├── recursive.io
│ ├── reverse-complement.io
│ ├── spectral-norm.io
│ ├── sumcol-input.txt
│ ├── sumcol-output.txt
│ └── sumcol.io
└── speed
│ ├── SpeedResults
│ ├── SpeedResults.html
│ ├── speed.io
│ ├── speed.py
│ ├── speed.rb
│ ├── speed.rebol
│ ├── speedResults.io
│ └── speedResults2.io
└── tools
├── CMakeLists.txt
├── docker
├── Dockerfile
├── README.md
├── buildDockerIo.sh
└── runDockerIo.sh
├── io
├── DocsExtractor.io
└── docs2html.io
├── old
├── processIoCode.io
└── processIoCodeFor.io
└── source
└── main.c
/.clang-format:
--------------------------------------------------------------------------------
1 | BasedOnStyle: LLVM
2 | IndentWidth: 4
3 | IncludeBlocks: Preserve
4 | SortIncludes: false
5 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | projects/*/*.xcodeproj/* -diff -merge
2 | *.pbxproj -crlf -diff -merge
3 | *.pbxuser -crlf -diff -merge
4 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "deps/parson"]
2 | path = deps/parson
3 | url = https://github.com/kgabis/parson.git
4 | [submodule "eerie"]
5 | path = eerie
6 | url = https://github.com/IoLanguage/eerie.git
7 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | dist: trusty
2 | sudo: required
3 |
4 | language: c
5 |
6 | os:
7 | - linux
8 | - osx
9 |
10 | compiler:
11 | - gcc
12 | - clang
13 |
14 | install:
15 | - 'if [ "${TRAVIS_OS_NAME}" == "linux" ]; then
16 | sudo apt-get install libyajl-dev;
17 | sudo apt-get install libev-libevent-dev;
18 | sudo apt-get install libpcre3-dev;
19 | fi'
20 | - 'if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
21 | brew install yajl;
22 | brew install libevent;
23 | brew install pcre;
24 | fi'
25 |
26 |
27 | before_script:
28 | - mkdir build
29 | - cd build
30 |
31 | script:
32 | - cmake ..
33 | - make
34 | - ./_build/binaries/io ../libs/iovm/tests/correctness/run.io
35 |
--------------------------------------------------------------------------------
/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # Build script for Steve
3 |
4 | INSTALL_PREFIX="${INSTALL_PREFIX:-/usr/local}"
5 |
6 | if [ X"$1" = X"linkInstall" ]; then
7 | rm -rf $INSTALL_PREFIX/lib/io $INSTALL_PREFIX/bin/io
8 | for i in $PWD/build/_build/dll/*; do ln -s $i $INSTALL_PREFIX/lib/`basename $i`; done
9 | mkdir $INSTALL_PREFIX/lib/io
10 | ln -s $PWD/addons $INSTALL_PREFIX/lib/io/
11 | elif [ X"$1" = X"install" ]; then
12 | cd build
13 | make install
14 | elif [ X"$1" = X"help" ]; then
15 | echo "Io build and installation"
16 | echo "Usage: $0 [help|install|linkInstall|clean]"
17 | echo -e "help\n\tThis message"
18 | echo -e "install\n\tInstalls Io (must have built it first)"
19 | echo -e "linkInstall\n\tLike above, but creates links into this hierarchy"
20 | echo -e "clean\n\tRemoves all build files. This will break a linkInstall."
21 | echo -e "Any other arguments, or lack thereof will build Io."
22 | elif [ X"$1" = X"clean" ]; then
23 | [ -d build ] && rm -rf build || echo "Nothing to clean."
24 | else
25 | mkdir -p build
26 | cd build
27 | cmake -DCMAKE_INSTALL_PREFIX="$INSTALL_PREFIX" ..
28 | make all
29 | fi
30 |
31 |
--------------------------------------------------------------------------------
/docs/reference/Audio/Ogg/OggPacket/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | OggPacket
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Audio
16 | /
17 | Ogg
18 | /
19 | OggPacket
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | A wrapper around the libogg ogg_packet object. No methods - used internally.
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Bridges/CFFI/CFFI/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFFI
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Bridges
16 | /
17 | CFFI
18 | /
19 | CFFI
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Bridges/CFFI/CFFIPointer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFFIPointer
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Bridges
16 | /
17 | CFFI
18 | /
19 | CFFIPointer
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | An Io interface to C
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Bridges/Python/Python/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Python
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Bridges
16 | /
17 | Python
18 | /
19 | Python
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | This object provides access the world of python.
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Databases/Obsidian/ObsidianClient/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ObsidianClient
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Databases
16 | /
17 | Obsidian
18 | /
19 | ObsidianClient
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Databases/Obsidian/PObject/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PObject
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Databases
16 | /
17 | Obsidian
18 | /
19 | PObject
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Databases/Postgres/Postgres/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Postgres
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Databases
16 | /
17 | Postgres
18 | /
19 | Postgres
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Databases/SqlDatabase/SqlDatabase/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SqlDatabase
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Databases
16 | /
17 | SqlDatabase
18 | /
19 | SqlDatabase
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/Cairo/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Cairo
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | Cairo
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | Cairo is a 2D graphics library. http://cairographics.org/
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoContext/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoContext
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoContext
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoExtents/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoExtents
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoExtents
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoFontExtents/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoFontExtents
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoFontExtents
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoFontFace/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoFontFace
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoFontFace
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoFontOptions/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoFontOptions
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoFontOptions
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoGlyph/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoGlyph
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoGlyph
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoGradient/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoGradient
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoGradient
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoImageSurface/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoImageSurface
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoImageSurface
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoLinearGradient/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoLinearGradient
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoLinearGradient
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoMatrix/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoMatrix
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoMatrix
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoPath/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoPath
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoPath
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoPathElement/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoPathElement
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoPathElement
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoPattern/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoPattern
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoPattern
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoRadialGradient/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoRadialGradient
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoRadialGradient
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoRectangle/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoRectangle
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoRectangle
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoScaledFont/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoScaledFont
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoScaledFont
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoSolidPattern/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoSolidPattern
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoSolidPattern
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoSurface/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoSurface
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoSurface
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoSurfacePattern/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoSurfacePattern
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoSurfacePattern
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/Cairo/CairoTextExtents/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CairoTextExtents
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | Cairo
18 | /
19 | CairoTextExtents
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/GLFW/GLFW/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | GLFW
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | GLFW
18 | /
19 | GLFW
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/OpenGL/GLApp/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | GLApp
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | OpenGL
18 | /
19 | GLApp
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/OpenGL/GLScissor/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | GLScissor
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | OpenGL
18 | /
19 | GLScissor
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/OpenGL/GLUQuadric/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | GLUQuadric
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | OpenGL
18 | /
19 | GLUQuadric
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/OpenGL/GLUT/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | GLUT
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | OpenGL
18 | /
19 | GLUT
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Graphics/OpenGL/OpenGL/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | OpenGL
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Graphics
16 | /
17 | OpenGL
18 | /
19 | OpenGL
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Math/ContinuedFraction/ContinuedFraction/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ContinuedFraction
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Math
16 | /
17 | ContinuedFraction
18 | /
19 | ContinuedFraction
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | ?
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Networking/DistributedObjects/DOProxy/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | DOProxy
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Networking
16 | /
17 | DistributedObjects
18 | /
19 | DOProxy
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Networking/Socket/EvConnection/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | EvConnection
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Networking
16 | /
17 | Socket
18 | /
19 | EvConnection
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | Networking Event.
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Networking/Socket/EvRequest/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | EvRequest
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Networking
16 | /
17 | Socket
18 | /
19 | EvRequest
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | Networking Event.
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Networking/Socket/ReadEvent/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ReadEvent
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Networking
16 | /
17 | Socket
18 | /
19 | ReadEvent
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | Object for read events.
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Networking/Socket/SignalEvent/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SignalEvent
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Networking
16 | /
17 | Socket
18 | /
19 | SignalEvent
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | Object for signal events.
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Networking/Socket/TimerEvent/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | TimerEvent
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Networking
16 | /
17 | Socket
18 | /
19 | TimerEvent
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | Object for timer events.
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Networking/Socket/WriteEvent/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | WriteEvent
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Networking
16 | /
17 | Socket
18 | /
19 | WriteEvent
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | Object for write events.
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Networking/Twitter/TwitterSearchCursor/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | TwitterSearchCursor
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Networking
16 | /
17 | Twitter
18 | /
19 | TwitterSearchCursor
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Networking/Volcano/VolcanoServer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | VolcanoServer
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Networking
16 | /
17 | Volcano
18 | /
19 | VolcanoServer
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | A simplified version of HttpServer
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Parsers/Libxml2/XmlReader/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | XmlReader
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Parsers
16 | /
17 | Libxml2
18 | /
19 | XmlReader
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Parsers/Libxml2/XmlWriter/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | XmlWriter
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Parsers
16 | /
17 | Libxml2
18 | /
19 | XmlWriter
20 |
21 |
22 |
23 | |
24 | |
25 | |
26 |
27 |
28 | |
29 | |
30 |
31 |
32 | |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/docs/reference/Parsers/Yajl/YajlGenParser/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | YajlGenParser
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Parsers
16 | /
17 | Yajl
18 | /
19 | YajlGenParser
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | This object can be used to parse YajlGen / HTML / XML.
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Parsers/Yajl/YajlParser/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | YajlParser
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Parsers
16 | /
17 | Yajl
18 | /
19 | YajlParser
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | This object can be used to parse Yajl / HTML / XML.
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Physics/ODE/ODEBall/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ODEBall
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Physics
16 | /
17 | ODE
18 | /
19 | ODEBall
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | ODEBall binding
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Physics/ODE/ODEBody/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ODEBody
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Physics
16 | /
17 | ODE
18 | /
19 | ODEBody
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | ODEBody binding
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Physics/ODE/ODEBox/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ODEBox
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Physics
16 | /
17 | ODE
18 | /
19 | ODEBox
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | ODEBox binding
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Physics/ODE/ODEContact/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ODEContact
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Physics
16 | /
17 | ODE
18 | /
19 | ODEContact
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | ODEContact binding
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Physics/ODE/ODEContactJoint/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ODEContactJoint
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Physics
16 | /
17 | ODE
18 | /
19 | ODEContactJoint
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | ODEContactJoint binding
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Physics/ODE/ODEFixed/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ODEFixed
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Physics
16 | /
17 | ODE
18 | /
19 | ODEFixed
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | ODEFixed binding
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Physics/ODE/ODEHinge/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ODEHinge
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Physics
16 | /
17 | ODE
18 | /
19 | ODEHinge
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | ODEHinge binding
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Physics/ODE/ODEHinge2/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ODEHinge2
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Physics
16 | /
17 | ODE
18 | /
19 | ODEHinge2
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | ODEJoint binding
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Physics/ODE/ODEJoint/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ODEJoint
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Physics
16 | /
17 | ODE
18 | /
19 | ODEJoint
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | ODEJoint binding
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Physics/ODE/ODEJointGroup/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ODEJointGroup
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Physics
16 | /
17 | ODE
18 | /
19 | ODEJointGroup
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | ODEJointGroup binding
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Physics/ODE/ODEMass/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ODEMass
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Physics
16 | /
17 | ODE
18 | /
19 | ODEMass
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | ODEMass binding
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Physics/ODE/ODEPlane/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ODEPlane
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Physics
16 | /
17 | ODE
18 | /
19 | ODEPlane
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | ODEPlane binding
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Physics/ODE/ODESimpleSpace/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ODESimpleSpace
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Physics
16 | /
17 | ODE
18 | /
19 | ODESimpleSpace
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | ODESimpleSpace binding
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Physics/ODE/ODEWorld/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ODEWorld
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Physics
16 | /
17 | ODE
18 | /
19 | ODEWorld
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | ODEWorld binding
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Server/EditLine/EditLine/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | EditLine
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Server
16 | /
17 | EditLine
18 | /
19 | EditLine
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | Binding to libedit (BSD version of readline).
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/docs/reference/Server/ReadLine/ReadLine/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ReadLine
6 |
7 |
8 |
9 |
10 |
11 |
12 | Io Reference
13 |
14 |
15 | Server
16 | /
17 | ReadLine
18 | /
19 | ReadLine
20 |
21 |
22 |
23 |
24 | |
25 | |
26 | Binding to GNU readline.
27 | |
28 | |
29 | |
30 | |
31 |
32 |
33 | |
34 | |
35 |
36 |
37 | |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/extras/IoLanguageKit/IoLanguageKit.h:
--------------------------------------------------------------------------------
1 | #import "IoState.h"
2 | #import "IoBox.h"
3 | #import "IoLanguage.h"
4 | #import "IoObjcBridge.h"
5 | #import "Objc2Io.h"
6 | #import "ObjcSubclass.h"
--------------------------------------------------------------------------------
/extras/IoLanguageKit/IoLanguageKit.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/extras/IoLanguageKit/IoLanguageKit.xcodeproj/project.xcworkspace/xcuserdata/steve.xcuserdatad/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEWorkspaceUserSettings_HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges
6 |
7 | IDEWorkspaceUserSettings_SnapshotAutomaticallyBeforeSignificantChanges
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/extras/IoLanguageKit/IoLanguageKit.xcodeproj/xcuserdata/steve.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | IoLanguageKit.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | AAFE00EB13D6526E00649838
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/extras/IoLanguageKit/IoLanguageKit/IoLanguageKit-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | English
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIconFile
10 |
11 | CFBundleIdentifier
12 | com.iolanguage.${PRODUCT_NAME:rfc1034identifier}
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | ${PRODUCT_NAME}
17 | CFBundlePackageType
18 | FMWK
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | 1
25 | NSHumanReadableCopyright
26 | Copyright © 2011 Steve Dekorte. All rights reserved.
27 | NSPrincipalClass
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/extras/IoLanguageKit/IoLanguageKit/IoLanguageKit-Prefix.pch:
--------------------------------------------------------------------------------
1 | //
2 | // Prefix header for all source files of the 'IoLanguageKit' target in the 'IoLanguageKit' project
3 | //
4 |
5 | #ifdef __OBJC__
6 | #import
7 | #endif
8 |
--------------------------------------------------------------------------------
/extras/IoLanguageKit/IoLanguageKit/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* Localized versions of Info.plist keys */
2 |
3 |
--------------------------------------------------------------------------------
/extras/IoLanguageKit/cleanup.io:
--------------------------------------------------------------------------------
1 |
2 |
3 | Directory directoryNamed("source") directoryNamed("lib") directoryNamed("io") directoryNamed("addons") directories foreach(d,
4 | writeln("cleaning ", d name)
5 |
6 | try(d directoryNamed("source") remove)
7 | d fileNamed("protos") remove
8 | try(d fileNamed("depends") remove)
9 | try(d directoryNamed("tests") remove)
10 | try(d directoryNamed("samples") remove)
11 | d fileNamed("CMakeLists.txt") remove
12 |
13 | try(d directoryNamed("_build") directoryNamed("binaries") remove)
14 | try(d directoryNamed("_build") directoryNamed("lib") remove)
15 | try(d directoryNamed("_build") directoryNamed("objs") remove)
16 | )
17 |
--------------------------------------------------------------------------------
/extras/IoLanguageKit/libevent_core.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IoLanguage/io/7113659c4342e98e9a86482b25441775fa066a96/extras/IoLanguageKit/libevent_core.a
--------------------------------------------------------------------------------
/extras/IoLanguageKit/libevent_extra.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IoLanguage/io/7113659c4342e98e9a86482b25441775fa066a96/extras/IoLanguageKit/libevent_extra.a
--------------------------------------------------------------------------------
/extras/IoLanguageKit/libyajl_s.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IoLanguage/io/7113659c4342e98e9a86482b25441775fa066a96/extras/IoLanguageKit/libyajl_s.a
--------------------------------------------------------------------------------
/extras/IoTest/IoTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/extras/IoTest/IoTest.xcodeproj/xcuserdata/steve.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | IoTest.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | AABB98ED13DD7EA500B6A0CB
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/extras/IoTest/IoTest/IoCLIController.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import
4 |
5 | @interface IoCLIController : NSObject
6 | {
7 | NSWindow *window;
8 | IBOutlet NSTextView *inputTextView;
9 | IBOutlet NSTextView *outputTextView;
10 | }
11 |
12 | @property (assign) IBOutlet NSWindow *window;
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/extras/IoTest/IoTest/IoTest-Prefix.pch:
--------------------------------------------------------------------------------
1 | //
2 | // Prefix header for all source files of the 'IoTest' target in the 'IoTest' project
3 | //
4 |
5 | #ifdef __OBJC__
6 | #import
7 | #endif
8 |
--------------------------------------------------------------------------------
/extras/IoTest/IoTest/en.lproj/Credits.rtf:
--------------------------------------------------------------------------------
1 | {\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;}
2 | {\colortbl;\red255\green255\blue255;}
3 | \paperw9840\paperh8400
4 | \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
5 |
6 | \f0\b\fs24 \cf0 Engineering:
7 | \b0 \
8 | Some people\
9 | \
10 |
11 | \b Human Interface Design:
12 | \b0 \
13 | Some other people\
14 | \
15 |
16 | \b Testing:
17 | \b0 \
18 | Hopefully not nobody\
19 | \
20 |
21 | \b Documentation:
22 | \b0 \
23 | Whoever\
24 | \
25 |
26 | \b With special thanks to:
27 | \b0 \
28 | Mom\
29 | }
30 |
--------------------------------------------------------------------------------
/extras/IoTest/IoTest/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* Localized versions of Info.plist keys */
2 |
3 |
--------------------------------------------------------------------------------
/extras/IoTest/IoTest/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // IoTest
4 | //
5 | // Created by Steve Dekorte on 20110725.
6 | // Copyright 2011 __MyCompanyName__. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | int main(int argc, char *argv[])
12 | {
13 | return NSApplicationMain(argc, (const char **)argv);
14 | }
15 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/IntelliJ/readme.txt:
--------------------------------------------------------------------------------
1 | Hi,
2 |
3 | I just translated what I found in the JEdit file for IntelliJ!!
4 |
5 | To install copy Io.xml into "~/.IntelliJIdea60/config/filetypes"
6 |
7 | I'll probably do some live / file templates as well.
8 |
9 | Daniel Bodart
10 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Commands/Run Io Program (ioServer).plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | beforeRunningCommand
6 | nop
7 | command
8 | /usr/local/bin/io "$TM_FILEPATH"
9 | input
10 | document
11 | keyEquivalent
12 | @r
13 | name
14 | Run Io Program (io)
15 | output
16 | showAsTooltip
17 | scope
18 | source.io
19 | uuid
20 | 62BD7F5E-8B3C-4D29-AB50-117842D437BA
21 |
22 |
23 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Commands/Run.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IoLanguage/io/7113659c4342e98e9a86482b25441775fa066a96/extras/SyntaxHighlighters/Io.tmbundle/Commands/Run.plist
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Preferences/Indent.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Indentation Rules
7 | settings
8 |
9 | decreaseIndentPattern
10 | \)
11 | indentNextLinePattern
12 | \(
13 | unIndentedLinePattern
14 | ^\s*(#.*)?\s*$
15 |
16 | uuid
17 | EB6573B8-51A9-4CC0-9D9B-E7A9717F2B76
18 |
19 |
20 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Preferences/Typing Pattern.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Typing Pattern
7 | settings
8 |
9 | highlightPairs
10 |
11 |
12 | "
13 | "
14 |
15 |
16 | (
17 | )
18 |
19 |
20 | smartTypingPairs
21 |
22 |
23 | "
24 | "
25 |
26 |
27 | (
28 | )
29 |
30 |
31 |
32 | uuid
33 | FF7A3AE5-D4C2-4DB7-B878-842DFCC822B6
34 |
35 |
36 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/actorRun.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | actorRun
7 | name
8 | actorRun
9 | scope
10 | source.io
11 | tabTrigger
12 | actor
13 | uuid
14 | 3BB141BA-DA64-43DF-8C9B-A9FDF5A9757E
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/ancestorWithSlot.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | ancestorWithSlot("${1:someSlot}")
7 | name
8 | ancestorWithSlot
9 | scope
10 | source.io
11 | tabTrigger
12 | ancestor
13 | uuid
14 | 17BCA3E6-D55D-4C4B-83C4-27C1E7A41941
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/ancestors.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | ancestors
7 | name
8 | ancestors
9 | scope
10 | source.io
11 | tabTrigger
12 | ancestor
13 | uuid
14 | 2C7EED0E-236C-4566-B8E1-7A45CD00FE25
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/appendProto.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | appendProto(${1:SomeProto})
7 | name
8 | appendProto
9 | scope
10 | source.io
11 | tabTrigger
12 | appendP
13 | uuid
14 | C46FA38F-8F86-4C99-8795-7454F4148B71
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/asCharacter.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | asCharacter
7 | name
8 | asCharacter
9 | scope
10 | source.io
11 | tabTrigger
12 | asC
13 | uuid
14 | F5AC96C1-9E80-467C-A659-DF6E032DA764
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/asNumber 2.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | asNumber
7 | name
8 | asNumber
9 | scope
10 | source.io
11 | tabTrigger
12 | asN
13 | uuid
14 | 2D3DEB4E-0862-404C-96ED-70A04F1C0485
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/asNumber.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | asNumber
7 | name
8 | asNumber
9 | scope
10 | source.io
11 | tabTrigger
12 | asN
13 | uuid
14 | A6E6BBED-A229-41F9-8162-2B5FD93760B5
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/asSimpleString.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | asSimpleString
7 | name
8 | asSimpleString
9 | scope
10 | source.io
11 | tabTrigger
12 | asSim
13 | uuid
14 | E405862D-E6DE-4A97-A1C4-6C757BC4C142
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/asString.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | asString
7 | name
8 | asString
9 | scope
10 | source.io
11 | tabTrigger
12 | asS
13 | uuid
14 | 7E6FE93E-99DF-42D7-B5D0-28977DCEB44C
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/between.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | between(${1:0}, ${2:0})
7 | name
8 | between
9 | scope
10 | source.io
11 | tabTrigger
12 | bet
13 | uuid
14 | 7AB9DD4B-DD70-4D1A-B4A6-6548E3F4D9BC
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/bitwiseAnd.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | bitwiseAnd($0)
7 | name
8 | bitwiseAnd
9 | scope
10 | source.io
11 | tabTrigger
12 | bit
13 | uuid
14 | 8B212373-5DB1-4144-885C-C6F7BC43E8BA
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/bitwiseComplement.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | bitwiseComplement($0)
7 | name
8 | bitwiseComplement
9 | scope
10 | source.io
11 | tabTrigger
12 | bit
13 | uuid
14 | 555C21F8-741A-4C9C-9ACE-06FD234B75C7
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/bitwiseOr.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | bitwiseOr($0)
7 | name
8 | bitwiseOr
9 | scope
10 | source.io
11 | tabTrigger
12 | bit
13 | uuid
14 | A1100C5B-8121-46CB-8111-B599B1B39821
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/bitwiseXor.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | bitwiseXor($0)
7 | name
8 | bitwiseXor
9 | scope
10 | source.io
11 | tabTrigger
12 | bit
13 | uuid
14 | 47BE3164-ADE0-4C5D-87B0-311FCF2D937A
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/block.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | ${1:name} := block(
7 | $0
8 | )
9 | name
10 | block
11 | scope
12 | source.io
13 | tabTrigger
14 | blk
15 | uuid
16 | 72B4B732-2893-4E90-85C5-467FB355C59E
17 |
18 |
19 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/catch.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | catch(${1:Exception},
7 | $0
8 | )
9 | name
10 | catch
11 | scope
12 | source.io
13 | tabTrigger
14 | cat
15 | uuid
16 | C2F88D63-FB90-42DE-9FB2-EB180812333D
17 |
18 |
19 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/clone.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | clone
7 | name
8 | clone
9 | scope
10 | source.io
11 | tabTrigger
12 | cl
13 | uuid
14 | D324658C-3A98-4F1E-ACFD-5F7C07B4575C
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/coroDo.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | coroDo(${1:someMessage})
7 | name
8 | coroDo
9 | scope
10 | source.io
11 | tabTrigger
12 | coro
13 | uuid
14 | 5BB171BB-E8A0-44B3-A2E1-4D88703C2C86
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/do.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | do(
7 | $0
8 | )
9 | name
10 | do
11 | scope
12 | source.io
13 | tabTrigger
14 | do
15 | uuid
16 | DBF789BD-DB6D-4ED5-B7A7-77827F51F45B
17 |
18 |
19 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/doFile.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | doFile("${1:someFile.io}")
7 | name
8 | doFile
9 | scope
10 | source.io
11 | tabTrigger
12 | doF
13 | uuid
14 | 395CD038-1184-41A7-B191-3A4AC6AE5DF5
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/doMessage.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | doMessage(${1:msg})
7 | name
8 | doMessage
9 | scope
10 | source.io
11 | tabTrigger
12 | doM
13 | uuid
14 | 7DE37B7E-B372-4015-AF6B-319C442E4729
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/doString.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | doString("${1:code}")
7 | name
8 | doString
9 | scope
10 | source.io
11 | tabTrigger
12 | doS
13 | uuid
14 | DEE7BDA7-8572-4E76-9508-8982F8EB95B1
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/docCategory.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | docCategory("${1:Category}")
7 | name
8 | docCategory
9 | scope
10 | source.io
11 | tabTrigger
12 | doc
13 | uuid
14 | 0278FBB7-B46D-4607-B7D9-B30F69B1353D
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/docCopyright.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | docCopyright("${1:Your Name}", 2006)
7 | name
8 | docCopyright
9 | scope
10 | source.io
11 | tabTrigger
12 | doc
13 | uuid
14 | 712F16F9-7576-4C86-B8C3-7FD3BFF1FCCA
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/docCredits.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | docCredits("")
7 | name
8 | docCredits
9 | scope
10 | source.io
11 | tabTrigger
12 | doc
13 | uuid
14 | 1D602620-F971-452B-8E82-BD6D8239C62C
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/docDescription.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | docDescription("${1:Does really neat stuff}")
7 | name
8 | docDescription
9 | scope
10 | source.io
11 | tabTrigger
12 | doc
13 | uuid
14 | 6AB10770-A6F4-4EC0-9C0F-12C4DEC36DE8
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/docLicense.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | docLicense("${1:BSD}")
7 | name
8 | docLicense
9 | scope
10 | source.io
11 | tabTrigger
12 | doc
13 | uuid
14 | 0BF13D78-B4DA-4195-B462-CC13DAA812A5
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/docObject.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | docObject("${1:YourObject}")
7 | name
8 | docObject
9 | scope
10 | source.io
11 | tabTrigger
12 | doc
13 | uuid
14 | F3CC2E13-92BE-438A-927F-7B1689C7F2D7
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/docSlot.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | docSlot("${1:yourSlot}", "${2:description}")
7 | name
8 | docSlot
9 | scope
10 | source.io
11 | tabTrigger
12 | doc
13 | uuid
14 | 26F55EA7-4613-44CB-8EE2-2B7E5DFA64FF
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/getLocalSlot.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | getLocalSlot("${1:name}")
7 | name
8 | getLocalSlot
9 | scope
10 | source.io
11 | tabTrigger
12 | get
13 | uuid
14 | 2089B521-0574-40FB-A2E6-0789BE9EC7C1
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/getSlot.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | getSlot("${1:name}")
7 | name
8 | getSlot
9 | scope
10 | source.io
11 | tabTrigger
12 | get
13 | uuid
14 | 86695052-6C3C-416E-A1A6-537026E043F2
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/hasLocalSlot.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | hasLocalSlot("${1:name}")
7 | name
8 | hasLocalSlot
9 | scope
10 | source.io
11 | tabTrigger
12 | has
13 | uuid
14 | 43524F22-69BD-46BB-9D85-49D53742CD7E
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/hasSlot.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | hasSlot("${1:name}")
7 | name
8 | hasSlot
9 | scope
10 | source.io
11 | tabTrigger
12 | has
13 | uuid
14 | AD7BAFC4-C063-4B08-AF88-1FAFC559A973
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/if.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | if(
7 | $0
8 | )
9 | name
10 | if
11 | scope
12 | source.io
13 | tabTrigger
14 | if
15 | uuid
16 | 20DFD9ED-0855-42FF-A565-B77FC03B647C
17 |
18 |
19 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/isKindOf.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | isKindOf(${1:AnObject})
7 | name
8 | isKindOf
9 | scope
10 | source.io
11 | tabTrigger
12 | isK
13 | uuid
14 | C9AC7A12-78D9-429C-9C94-33310292F300
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/isNil.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | isNil
7 | name
8 | isNil
9 | scope
10 | source.io
11 | tabTrigger
12 | isN
13 | uuid
14 | 39FAC08C-2C08-43D6-8DA8-3EF08ACE132C
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/message.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | message(${1:msg})
7 | name
8 | message
9 | scope
10 | source.io
11 | tabTrigger
12 | msg
13 | uuid
14 | 1F946C6C-AAC6-4B83-8552-067EDE694D63
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/method.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | ${1:name} := method(
7 | $0
8 | )
9 | name
10 | method
11 | scope
12 | source.io
13 | tabTrigger
14 | meth
15 | uuid
16 | 6AD7DB6D-6874-4AE5-A0BB-451844AB5204
17 |
18 |
19 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/newSlot.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | newSlot("${1:name}")
7 | name
8 | newSlot
9 | scope
10 | source.io
11 | tabTrigger
12 | new
13 | uuid
14 | A5BEE119-386D-4BF3-994D-8E47001230EA
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/perform.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | perform("${1:name}")
7 | name
8 | perform
9 | scope
10 | source.io
11 | tabTrigger
12 | perf
13 | uuid
14 | 706BEC10-DBB5-4C7C-A4FC-2B36484EB2B2
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/performWithArgList.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | performWithArgList("${1:name}", ${2:list(arg1, arg2)})
7 | name
8 | performWithArgList
9 | scope
10 | source.io
11 | tabTrigger
12 | performW
13 | uuid
14 | 21E626EE-328F-40CC-8350-3BF169A86B0C
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/prependProto.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | prependProto(${1:SomeProto})
7 | name
8 | prependProto
9 | scope
10 | source.io
11 | tabTrigger
12 | prependP
13 | uuid
14 | 1990B5B2-F30F-47E9-A50D-E6EE7C380221
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/removeAllProtos.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | removeAllProtos
7 | name
8 | removeAllProtos
9 | scope
10 | source.io
11 | tabTrigger
12 | removeA
13 | uuid
14 | 259820FF-370A-4CB7-AEDB-9F075ACC5395
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/removeProto.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | removeProto
7 | scope
8 | source.io
9 | tabTrigger
10 | removeP
11 | uuid
12 | 9BC73A7B-ABEA-41F7-9810-738563C61CB8
13 |
14 |
15 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/removeSlot.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | removeSlot("${1:name}")
7 | name
8 | removeSlot
9 | scope
10 | source.io
11 | tabTrigger
12 | removeS
13 | uuid
14 | 4756E141-7E04-41B4-BC13-7A0F3307F80D
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/return.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | return(${1:val})
7 | name
8 | return
9 | scope
10 | source.io
11 | tabTrigger
12 | ret
13 | uuid
14 | 5229E1BA-0F7B-44BF-995E-470CAA0D101C
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/setSlot.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | setSlot("${1:name}", ${2:value})
7 | name
8 | setSlot
9 | scope
10 | source.io
11 | tabTrigger
12 | ss
13 | uuid
14 | A92B36B1-99D6-405F-A9FC-8AB958BBCBD7
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/setSlotWithType.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | setSlotWithType("${1:name}", ${2:value})
7 | name
8 | setSlotWithType
9 | scope
10 | source.io
11 | tabTrigger
12 | sst
13 | uuid
14 | C2FAF737-4CD7-4634-AFB9-97A216CBAE17
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/try.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | try(
7 | $0
8 | )
9 | name
10 | try
11 | scope
12 | source.io
13 | tabTrigger
14 | try
15 | uuid
16 | 0E751EFF-4C8E-446E-B113-0477D3089FDC
17 |
18 |
19 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/updateSlot.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | updateSlot("${1:name}", ${2:value})
7 | name
8 | updateSlot
9 | scope
10 | source.io
11 | tabTrigger
12 | us
13 | uuid
14 | 753C6D6B-C855-4D98-8CB1-7FC6FDE4C23D
15 |
16 |
17 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Snippets/while.tmSnippet:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | content
6 | while(${1:aCondition},
7 | $0
8 | )
9 | name
10 | while
11 | scope
12 | source.io
13 | tabTrigger
14 | while
15 | uuid
16 | 85EBA076-4400-4F3B-A6CE-F857EE8C215F
17 |
18 |
19 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Templates/Io.tmTemplate/info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | command
6 | if [[ ! -f "$TM_NEW_FILE" ]]; then
7 | TM_YEAR=`date +%Y` \
8 | TM_DATE=`date +%Y-%m-%d` \
9 | TM_USERNAME=`niutil -readprop / /users/\$USER realname` \
10 | perl -pe 's/\$\{([^}]*)\}/$ENV{$1}/g' \
11 | < source.io > "$TM_NEW_FILE"
12 | fi
13 | extension
14 | io
15 | name
16 | Io
17 | uuid
18 | C00BBEE0-C866-479D-874B-D53B73A5D128
19 |
20 |
21 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Io.tmbundle/Templates/Io.tmTemplate/source.io:
--------------------------------------------------------------------------------
1 | /*
2 | ${TM_NEW_FILE_BASENAME} - ${TM_DATE}
3 | Copyright (c) ${TM_YEAR} ${TM_USERNAME}. All rights reserved.
4 | */
5 |
6 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/JEdit/_ReadMe.txt:
--------------------------------------------------------------------------------
1 | Hi all,
2 |
3 | Here is attached a simple Io syntax mode for the JEdit text editor. You simply have to put the attached file in your`~/.jedit/modes' directory and add the following line to your `~/.jedit/modes.catalog' file:
4 |
5 |
6 |
7 | Enjoy,
8 |
9 | -- Sebastien Pierre
10 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/Komodo/io-1.2-ko.xpi:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IoLanguage/io/7113659c4342e98e9a86482b25441775fa066a96/extras/SyntaxHighlighters/Komodo/io-1.2-ko.xpi
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/SubEthaEdit/Io.mode/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleGetInfoString
6 | Io mode, Jason Grossman, 2005
7 | CFBundleIdentifier
8 | IoMode.io
9 | CFBundleInfoDictionaryVersion
10 | 1.2
11 | CFBundleName
12 | Io
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 1.2
17 | CFBundleVersion
18 | 1.2
19 | TCMModeExtensions
20 |
21 | io
22 | strings
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/SubEthaEdit/Io.mode/Contents/Resources/English.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IoLanguage/io/7113659c4342e98e9a86482b25441775fa066a96/extras/SyntaxHighlighters/SubEthaEdit/Io.mode/Contents/Resources/English.lproj/InfoPlist.strings
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/SubEthaEdit/Io.mode/Contents/Resources/pole.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IoLanguage/io/7113659c4342e98e9a86482b25441775fa066a96/extras/SyntaxHighlighters/SubEthaEdit/Io.mode/Contents/Resources/pole.gif
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/SubEthaEdit/SubEthaEdit Io mode read me.txt:
--------------------------------------------------------------------------------
1 | Users of SubEthaEdit and Io should put the package Io.mode in either:
2 |
3 | * Library/Application Support/SubEthaEdit/Modes (if you want everyone on your computer to be able to use it)
4 |
5 | or
6 |
7 | * ~/Library/Application Support/SubEthaEdit/Modes
8 |
9 | Jason Grossman
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/XCode/Io.pbfilespec:
--------------------------------------------------------------------------------
1 | /**
2 | Io source file specs.
3 | */
4 | (
5 | {
6 | Identifier = text.script.io;
7 | BasedOn = text.script;
8 | Extensions = (io);
9 | MIMETypes = ("text/x-io-script");
10 | MagicWord = ("#! ioVM"
11 | );
12 | ComputerLanguage = shell.io;
13 | }
14 | )
15 |
--------------------------------------------------------------------------------
/extras/SyntaxHighlighters/XCode/_ReadMe.txt:
--------------------------------------------------------------------------------
1 | Just install the files in:
2 |
3 | /Library/Application Support/Apple/Developer Tools/Specifications
4 |
5 | - Massimiliano Gubinelli
--------------------------------------------------------------------------------
/extras/osxvm/osxvm.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/extras/osxvm/osxvm.xcodeproj/xcuserdata/steve.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | osxvm.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | 8DD76FA90486AB0100D96B5E
16 |
17 | primary
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/extras/symbian/ABLD.BAT:
--------------------------------------------------------------------------------
1 | @ECHO OFF
2 |
3 | REM Bldmake-generated batch file - ABLD.BAT
4 | REM ** DO NOT EDIT **
5 |
6 | perl -S ABLD.PL \PROJECTS\SYMBIAN\IO20020925\SYMBIAN\ %1 %2 %3 %4 %5 %6 %7 %8 %9
7 | if errorlevel==1 goto CheckPerl
8 | goto End
9 |
10 | :CheckPerl
11 | perl -v >NUL
12 | if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed?
13 | goto End
14 |
15 | :End
16 |
--------------------------------------------------------------------------------
/extras/symbian/Bld.inf:
--------------------------------------------------------------------------------
1 |
2 | PRJ_MMPFILES
3 |
4 | io.mmp
5 |
--------------------------------------------------------------------------------
/extras/symbian/SymbianSockets.h:
--------------------------------------------------------------------------------
1 | #if !defined(SYMBIANSOCKETS_H)
2 | #define SYMBIANSOCKETS_H
3 |
4 | void initSocketAddons(IoState* state);
5 |
6 | #endif
7 |
--------------------------------------------------------------------------------
/extras/win32vc10/io/io/io.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav
15 |
16 |
17 |
18 |
19 | Source Files
20 |
21 |
22 |
--------------------------------------------------------------------------------
/extras/win32vc10/io/io2c/io2c.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav
15 |
16 |
17 |
18 |
19 | Source Files
20 |
21 |
22 |
--------------------------------------------------------------------------------
/extras/win32vc10/io/iovm/scripts/microsed.js:
--------------------------------------------------------------------------------
1 | var s = WScript.StdIn.ReadAll();
2 | var re = new RegExp(WScript.Arguments(0), "gm");
3 | var rep = WScript.Arguments(1);
4 |
5 | WScript.StdOut.Write(s.replace(re, rep));
--------------------------------------------------------------------------------
/extras/win32vc10/io/iovm/scripts/microxargs.js:
--------------------------------------------------------------------------------
1 | var f = WScript.StdIn;
2 |
3 | var shell = WScript.CreateObject("WScript.Shell");
4 |
5 | var cmdString = ""
6 | for(var i = 0; i < WScript.Arguments.count(); i++){
7 | if (WScript.Arguments(i).indexOf(" ") != -1)
8 | cmdString = cmdString + "\"" + WScript.Arguments(i) + "\" ";
9 | else
10 | cmdString = cmdString + "" + WScript.Arguments(i) + " ";
11 | }
12 |
13 | while (!f.AtEndOfStream)
14 | {
15 | s = f.ReadLine();
16 | /*
17 | if (s.indexOf(" ") != -1)
18 | cmd = (cmdString + " \"" + s + "\"");
19 | else
20 | */
21 | cmd = cmdString + " " + s;
22 |
23 | var exec = shell.Exec(cmd);
24 | WScript.StdOut.Write(exec.StdOut.ReadAll());
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/extras/win32vc2005/IoApp/IoAppSetup.h:
--------------------------------------------------------------------------------
1 | #ifndef IOAPPINIT_H
2 | #define IOAPPINIT_H
3 |
4 | void IoAppInit(IoState *self, IoObject *context);
5 |
6 | #endif
--------------------------------------------------------------------------------
/extras/win32vc2005/IoApp/main.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | #include "IoAppInit.h"
6 |
7 | int main(int argc, const char *argv[])
8 | {
9 | IoState *self = IoState_new();
10 |
11 | IoState_argc_argv_(self, argc, argv);
12 |
13 | IoState_pauseGarbageCollector(self);
14 | IoAppInit(self, self->lobby);
15 | IoObject_setSlot_to_(self->lobby, SIOSTRING("distribution"), SIOSTRING("IoApp"));
16 | IoState_resumeGarbageCollector(self);
17 | IoState_clearRetainStack(self);
18 |
19 | {
20 | IoCLI *cli = IoCLI_new();
21 | IoCLI_state_(cli, self);
22 | IoCLI_run(cli);
23 | IoCLI_free(cli);
24 | }
25 |
26 | IoState_free(self);
27 |
28 | //getch();
29 |
30 | return 0;
31 | }
--------------------------------------------------------------------------------
/extras/win32vc2005/freeglut-2.2.0/include/GL/freeglut.h:
--------------------------------------------------------------------------------
1 | #ifndef __FREEGLUT_H__
2 | #define __FREEGLUT_H__
3 |
4 | /*
5 | * freeglut.h
6 | *
7 | * The freeglut library include file
8 | *
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
10 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
11 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
12 | * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
13 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
14 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
15 | */
16 |
17 | //#define FREEGLUT_STATIC
18 |
19 | #include "freeglut_std.h"
20 | #include "freeglut_ext.h"
21 |
22 | /*** END OF FILE ***/
23 |
24 | #endif /* __FREEGLUT_H__ */
25 |
--------------------------------------------------------------------------------
/extras/win32vc2005/freeglut-2.2.0/include/GL/glut.h:
--------------------------------------------------------------------------------
1 | #ifndef __GLUT_H__
2 | #define __GLUT_H__
3 |
4 | /*
5 | * glut.h
6 | *
7 | * The freeglut library include file
8 | *
9 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
10 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
11 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
12 | * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
13 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
14 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
15 | */
16 |
17 | #include "freeglut_std.h"
18 |
19 | /*** END OF FILE ***/
20 |
21 | #endif /* __GLUT_H__ */
22 |
--------------------------------------------------------------------------------
/extras/xcode/Io/Io/Io-Prefix.pch:
--------------------------------------------------------------------------------
1 | //
2 | // Prefix header for all source files of the 'Io' target in the 'Io' project
3 | //
4 |
5 | #ifdef __OBJC__
6 | #import
7 | #endif
8 |
--------------------------------------------------------------------------------
/extras/xcode/Io/Io/IoAppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // IoAppDelegate.h
3 | // Io
4 | //
5 | // Created by Steve Dekorte on 20120104.
6 | // Copyright 2012 __MyCompanyName__. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface IoAppDelegate : NSObject
12 | {
13 | NSWindow *window;
14 | IBOutlet NSTextView *textView;
15 | }
16 |
17 | @property (assign) IBOutlet NSWindow *window;
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/extras/xcode/Io/Io/IoAppDelegate.m:
--------------------------------------------------------------------------------
1 | //
2 | // IoAppDelegate.m
3 | // Io
4 | //
5 | // Created by Steve Dekorte on 20120104.
6 | // Copyright 2012 __MyCompanyName__. All rights reserved.
7 | //
8 |
9 | #import "IoAppDelegate.h"
10 |
11 | @implementation IoAppDelegate
12 |
13 | @synthesize window;
14 |
15 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification
16 | {
17 | // Insert code here to initialize your application
18 | NSFont *font = [NSFont fontWithName:@"Times New Roman" size:14.0];
19 | NSDictionary *d = [NSDictionary dictionaryWithObject:font forKey:NSFontAttributeName];
20 | // [[textView textStorage] setFont:f];
21 |
22 | NSAttributedString *s = [[[NSAttributedString alloc] initWithString:@">" attributes:d] autorelease];
23 | [[textView textStorage] appendAttributedString:s];
24 | [textView setTextContainerInset:NSMakeSize(20, 20)];
25 |
26 | }
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/extras/xcode/Io/Io/TextDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // TextDelegate.h
3 | // Io
4 | //
5 | // Created by Steve Dekorte on 20120104.
6 | // Copyright 2012 __MyCompanyName__. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface TextDelegate : NSObject
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/extras/xcode/Io/Io/TextDelegate.m:
--------------------------------------------------------------------------------
1 | //
2 | // TextDelegate.m
3 | // Io
4 | //
5 | // Created by Steve Dekorte on 20120104.
6 | // Copyright 2012 __MyCompanyName__. All rights reserved.
7 | //
8 |
9 | #import "TextDelegate.h"
10 |
11 | @implementation TextDelegate
12 |
13 | - (id)init
14 | {
15 | self = [super init];
16 | if (self) {
17 | // Initialization code here.
18 | }
19 |
20 | return self;
21 | }
22 |
23 | - (NSRange)textView:(NSTextView *)aTextView willChangeSelectionFromCharacterRange:(NSRange)oldSelectedCharRange toCharacterRange:(NSRange)newSelectedCharRange
24 | {
25 | //NSLog(@"will change selection");
26 | return newSelectedCharRange;
27 | }
28 |
29 | - (BOOL)textView:(NSTextView *)aTextView shouldChangeTextInRange:(NSRange)affectedCharRange replacementString:(NSString *)replacementString
30 | {
31 | NSLog(@"will change text '%@'", replacementString);
32 | return YES;
33 | }
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/extras/xcode/Io/Io/en.lproj/Credits.rtf:
--------------------------------------------------------------------------------
1 | {\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;}
2 | {\colortbl;\red255\green255\blue255;}
3 | \paperw9840\paperh8400
4 | \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
5 |
6 | \f0\b\fs24 \cf0 Engineering:
7 | \b0 \
8 | Some people\
9 | \
10 |
11 | \b Human Interface Design:
12 | \b0 \
13 | Some other people\
14 | \
15 |
16 | \b Testing:
17 | \b0 \
18 | Hopefully not nobody\
19 | \
20 |
21 | \b Documentation:
22 | \b0 \
23 | Whoever\
24 | \
25 |
26 | \b With special thanks to:
27 | \b0 \
28 | Mom\
29 | }
30 |
--------------------------------------------------------------------------------
/extras/xcode/Io/Io/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* Localized versions of Info.plist keys */
2 |
3 |
--------------------------------------------------------------------------------
/extras/xcode/Io/Io/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // Io
4 | //
5 | // Created by Steve Dekorte on 20120104.
6 | // Copyright 2012 __MyCompanyName__. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | int main(int argc, char *argv[])
12 | {
13 | return NSApplicationMain(argc, (const char **)argv);
14 | }
15 |
--------------------------------------------------------------------------------
/libs/basekit/depends:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IoLanguage/io/7113659c4342e98e9a86482b25441775fa066a96/libs/basekit/depends
--------------------------------------------------------------------------------
/libs/basekit/source/BStreamTag.h:
--------------------------------------------------------------------------------
1 | /*
2 | copyright
3 | Steve Dekorte, 2004
4 | license
5 | BSD revised
6 | */
7 |
8 | #ifndef BSTREAMTAG_DEFINED
9 | #define BSTREAMTAG_DEFINED 1
10 |
11 | #ifdef __cplusplus
12 | extern "C" {
13 | #endif
14 |
15 | #define BSTREAM_UNSIGNED_INT 0
16 | #define BSTREAM_SIGNED_INT 1
17 | #define BSTREAM_FLOAT 2
18 | #define BSTREAM_POINTER 3
19 |
20 | typedef struct {
21 | unsigned int isArray : 1;
22 | unsigned int
23 | type : 2; // 0 = unsigned int, 1 = signed int, 2 = float, 3 = pointer
24 | unsigned int byteCount : 5; // number of bytes in data value(s)
25 | } BStreamTag;
26 |
27 | // values in network byte order / big endian
28 |
29 | BStreamTag BStreamTag_FromUnsignedChar(unsigned char c);
30 | unsigned char BStreamTag_asUnsignedChar(BStreamTag *self);
31 | BStreamTag BStreamTag_TagArray_type_byteCount_(unsigned int a, unsigned int t,
32 | unsigned int b);
33 | int BStreamTag_isEqual_(BStreamTag *self, BStreamTag *other);
34 | void BStreamTag_print(BStreamTag *self);
35 |
36 | char *BStreamTag_typeName(BStreamTag *self);
37 |
38 | #ifdef __cplusplus
39 | }
40 | #endif
41 | #endif
42 |
--------------------------------------------------------------------------------
/libs/basekit/source/Base.h:
--------------------------------------------------------------------------------
1 | #ifndef IOBASE_DEFINED
2 | #define IOBASE_DEFINED 1
3 |
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 | #include
11 | #include
12 |
13 | #endif
14 |
--------------------------------------------------------------------------------
/libs/basekit/source/Hash_murmur.h:
--------------------------------------------------------------------------------
1 | unsigned int MurmurHash2(const void *key, int len, unsigned int seed);
2 |
--------------------------------------------------------------------------------
/libs/basekit/source/Hash_superfast.h:
--------------------------------------------------------------------------------
1 | uint32_t SuperFastHash(const char *data, int len);
--------------------------------------------------------------------------------
/libs/basekit/source/MainArgs.h:
--------------------------------------------------------------------------------
1 | // metadoc MainArgs copyright Steve Dekorte 2002
2 | // metadoc MainArgs license BSD revised
3 | /*metadoc MainArgs description
4 | Structure for copying and storing command line arguments.")
5 | */
6 |
7 | #ifndef MAINARGS_DEFINED
8 | #define MAINARGS_DEFINED 1
9 |
10 | #include "Common.h"
11 |
12 | #ifdef __cplusplus
13 | extern "C" {
14 | #endif
15 |
16 | typedef struct {
17 | int argc;
18 | const char **argv;
19 | } MainArgs;
20 |
21 | BASEKIT_API MainArgs *MainArgs_new(void);
22 | BASEKIT_API void MainArgs_free(MainArgs *self);
23 |
24 | BASEKIT_API void MainArgs_argc_argv_(MainArgs *self, int argc,
25 | const char **argv);
26 | #define MainArgs_argCount(self) self->argc
27 | #define MainArgs_argAt_(self, index) self->argv[index]
28 |
29 | #ifdef __cplusplus
30 | }
31 | #endif
32 | #endif
33 |
--------------------------------------------------------------------------------
/libs/basekit/source/PointerHash_struct.h:
--------------------------------------------------------------------------------
1 | // PointerHash.h
2 | // CuckooHashTable
3 | // Created by Steve Dekorte on 2009 04 28.
4 |
5 | #ifndef POINTERHASH_STRUCT_DEFINED
6 | #define POINTERHASH_STRUCT_DEFINED 1
7 |
8 | #ifdef __cplusplus
9 | extern "C" {
10 | #endif
11 |
12 | typedef struct {
13 | void *k;
14 | void *v;
15 | } PointerHashRecord;
16 |
17 | typedef struct {
18 | unsigned char *records;
19 | size_t size;
20 | size_t keyCount;
21 | intptr_t mask;
22 | } PointerHash;
23 |
24 | #ifdef __cplusplus
25 | }
26 | #endif
27 | #endif
28 |
--------------------------------------------------------------------------------
/libs/basekit/source/PortableGettimeofday.h:
--------------------------------------------------------------------------------
1 | #ifndef PORTABLEGETTIMEOFDAY_DEFINED
2 | #define PORTABLEGETTIMEOFDAY_DEFINED 1
3 |
4 | #ifdef __cplusplus
5 | extern "C" {
6 | #endif
7 |
8 | #if defined(__WIN32__) || defined(WIN32) || defined(_WIN32) || defined(_MSC_VER)
9 | #if defined(_MSC_VER)
10 | #include
11 | /*struct timeval
12 | {
13 | long tv_sec;
14 | long tv_usec;
15 | };*/
16 | #else
17 | /* for MingW */
18 | #include
19 | #endif
20 |
21 | #if defined(__MINGW32__) && \
22 | (3 < __MINGW32_MAJOR_VERSION || \
23 | 3 == __MINGW32_MAJOR_VERSION && 9 < __MINGW32_MINOR_VERSION)
24 | #else
25 | struct timezone {
26 | int tz_minuteswest; /* of Greenwich */
27 | int tz_dsttime; /* type of dst correction to apply */
28 | };
29 |
30 | #include "Common.h"
31 | BASEKIT_API extern void gettimeofday(struct timeval *tv, struct timezone *tz);
32 | #endif
33 |
34 | #else
35 | #include
36 | #endif
37 |
38 | #ifdef __cplusplus
39 | }
40 | #endif
41 |
42 | #endif
43 |
44 | double secondsSince1970(void);
45 |
--------------------------------------------------------------------------------
/libs/basekit/source/PortableSorting.h:
--------------------------------------------------------------------------------
1 | #ifndef PORTABLESORTING_DEFINED
2 | #define PORTABLESORTING_DEFINED 1
3 |
4 | #include "Common.h"
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | /*
11 | The reason for using this instead of C's qsort is
12 | that we need more context information than just the
13 | two objects if we want to do something like use an
14 | Io block to do the comparison and using globals is
15 | unacceptable for several reasons.
16 |
17 | qsort_r isn't available on all platforms.
18 | */
19 |
20 | // typedef int (ListSortRCallback)(void *, const void *, const void *);
21 |
22 | typedef int (*PortableSortingCompareCallback)(void *context, const void *a,
23 | const void *b);
24 |
25 | BASEKIT_API void portable_qsort_r(void *base, size_t nel, size_t width,
26 | void *context,
27 | PortableSortingCompareCallback compare);
28 |
29 | #ifdef __cplusplus
30 | }
31 | #endif
32 |
33 | #endif
34 |
--------------------------------------------------------------------------------
/libs/basekit/source/PortableStrlcpy.h:
--------------------------------------------------------------------------------
1 | #ifdef _WIN32
2 | #include // size_t on windows
3 | #else
4 | #include // size_t
5 | #endif
6 |
7 | size_t PortableStrlcpy(char *, const char *, size_t);
8 |
--------------------------------------------------------------------------------
/libs/basekit/source/PortableStrptime.h:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #ifdef __cplusplus
4 | extern "C" {
5 | #endif
6 |
7 | /*#ifdef IO_NEEDS_STRPTIME */
8 | char *io_strptime(char *buf, char *fmt, struct tm *tm);
9 | /*#endif*/
10 |
11 | #ifdef __cplusplus
12 | }
13 | #endif
14 |
--------------------------------------------------------------------------------
/libs/basekit/source/PortableTruncate.c:
--------------------------------------------------------------------------------
1 |
2 | #include "PortableTruncate.h"
3 |
4 | int PortableTruncate_justHereToAvoidRanlibWarning(void) { return 0; }
5 |
6 | #if defined(_WIN32) || defined(__MINGW32__)
7 |
8 | #include
9 | #include
10 | #include
11 | #include
12 |
13 | // Win32 truncate by Mike Austin
14 |
15 | int truncate(const char *path, long length) {
16 | HANDLE file = CreateFile(path, GENERIC_WRITE, 0, NULL, OPEN_EXISTING,
17 | FILE_SHARE_WRITE | FILE_SHARE_READ, NULL);
18 |
19 | if (file == INVALID_HANDLE_VALUE) {
20 | return -1;
21 | }
22 |
23 | if (SetFilePointer(file, length, NULL, FILE_BEGIN) == 0xFFFFFFFF ||
24 | !SetEndOfFile(file)) {
25 | CloseHandle(file);
26 | return -1;
27 | }
28 |
29 | CloseHandle(file);
30 | return 0;
31 | }
32 |
33 | #endif
34 |
35 | #if defined(__SYMBIAN32__)
36 | int truncate(const char *path, long length) {
37 | // TODO: Implement for Symbian
38 | return -1;
39 | }
40 | #endif
41 |
--------------------------------------------------------------------------------
/libs/basekit/source/PortableTruncate.h:
--------------------------------------------------------------------------------
1 |
2 | #ifdef __cplusplus
3 | extern "C" {
4 | #endif
5 |
6 | #ifdef _WIN32
7 | #include "Common.h"
8 |
9 | BASEKIT_API int truncate(const char *path, long length);
10 |
11 | #else
12 |
13 | #include
14 |
15 | #endif
16 |
17 | #ifdef __cplusplus
18 | }
19 | #endif
20 |
--------------------------------------------------------------------------------
/libs/basekit/source/PortableUsleep.c:
--------------------------------------------------------------------------------
1 | int PortableUsleep_justHereToAvoidRanlibWarning(void) { return 0; }
2 |
3 | #if defined WIN32 && !defined __MINGW32__
4 | #include
5 |
6 | int usleep(unsigned int us) {
7 | static LARGE_INTEGER freq;
8 | static int initted = 0;
9 | LARGE_INTEGER s, e, d;
10 |
11 | if (!initted) {
12 | QueryPerformanceFrequency(&freq);
13 | initted = 1;
14 | }
15 |
16 | QueryPerformanceCounter(&s);
17 | d.QuadPart = freq.QuadPart * ((double)us / 1000000.0);
18 |
19 | do {
20 | QueryPerformanceCounter(&e);
21 | } while (e.QuadPart - s.QuadPart < d.QuadPart);
22 |
23 | return 0;
24 | }
25 |
26 | #endif
27 |
--------------------------------------------------------------------------------
/libs/basekit/source/PortableUsleep.h:
--------------------------------------------------------------------------------
1 |
2 | #ifdef ON_WINDOWS
3 | #include
4 | #if !defined(WIN32) && !defined(__MINGW32__)
5 | int usleep(unsigned int us);
6 | #endif
7 | #elif !defined(__CYGWIN__)
8 | #include
9 | #endif
10 |
--------------------------------------------------------------------------------
/libs/basekit/source/RandomGen.h:
--------------------------------------------------------------------------------
1 |
2 |
3 | #ifndef RANDOMGEN_DEFINED
4 | #define RANDOMGEN_DEFINED 1
5 |
6 | #ifdef __cplusplus
7 | extern "C" {
8 | #endif
9 |
10 | #include "Common.h"
11 |
12 | #define RANDOMGEN_N 624
13 |
14 | typedef struct {
15 | unsigned long mt[RANDOMGEN_N]; // the array for the state vector
16 | int mti; // mti==N+1 means mt[N] is not initialized
17 | double y2; // guassian
18 | int use_last; // guassian
19 | } RandomGen;
20 |
21 | BASEKIT_API RandomGen *RandomGen_new(void);
22 | BASEKIT_API void RandomGen_free(RandomGen *self);
23 |
24 | BASEKIT_API void RandomGen_setSeed(RandomGen *self, unsigned long seed);
25 | BASEKIT_API void RandomGen_chooseRandomSeed(RandomGen *self);
26 |
27 | // generates a random number on between 0.0 and 1.0
28 | BASEKIT_API double RandomGen_randomDouble(RandomGen *self);
29 |
30 | BASEKIT_API int RandomGen_randomInt(RandomGen *self);
31 |
32 | BASEKIT_API double RandomGen_gaussian(RandomGen *self, double mean,
33 | double standardDeviation);
34 |
35 | #ifdef __cplusplus
36 | }
37 | #endif
38 | #endif
39 |
--------------------------------------------------------------------------------
/libs/basekit/source/UArray_character.c:
--------------------------------------------------------------------------------
1 | /*
2 | copyright: Steve Dekorte, 2006. All rights reserved.
3 | license: See _BSDLicense.txt.
4 | */
5 |
6 | #include "UArray.h"
7 | #include
8 | #include
9 |
10 | // set
11 |
12 | #define UARRAY_IOP(OP) \
13 | void UArray_##OP(UArray *self) { \
14 | UARRAY_FOREACHASSIGN(self, i, v, OP((int)v)); \
15 | }
16 |
17 | UARRAY_IOP(isalnum);
18 | UARRAY_IOP(isalpha);
19 | UARRAY_IOP(iscntrl);
20 | UARRAY_IOP(isdigit);
21 | UARRAY_IOP(isgraph);
22 | UARRAY_IOP(islower);
23 | UARRAY_IOP(isprint);
24 | UARRAY_IOP(ispunct);
25 | UARRAY_IOP(isspace);
26 | UARRAY_IOP(isupper);
27 | UARRAY_IOP(isxdigit);
28 |
29 | UARRAY_IOP(tolower);
30 | UARRAY_IOP(toupper);
31 |
32 | BASEKIT_API int UArray_isLowercase(UArray *self) {
33 | UARRAY_INTFOREACH(self, i, v, if (v != tolower((int)v)) return 0);
34 | return 1;
35 | }
36 |
37 | BASEKIT_API int UArray_isUppercase(UArray *self) {
38 | UARRAY_INTFOREACH(self, i, v, if (v != toupper((int)v)) return 0);
39 | return 1;
40 | }
41 |
--------------------------------------------------------------------------------
/libs/basekit/source/UArray_character.h:
--------------------------------------------------------------------------------
1 | /*
2 | copyright: Steve Dekorte, 2006. All rights reserved.
3 | license: See _BSDLicense.txt.
4 | */
5 |
6 | BASEKIT_API void UArray_isalnum(UArray *self);
7 | BASEKIT_API void UArray_isalpha(UArray *self);
8 | BASEKIT_API void UArray_iscntrl(UArray *self);
9 | BASEKIT_API void UArray_isdigit(UArray *self);
10 | BASEKIT_API void UArray_isgraph(UArray *self);
11 | BASEKIT_API void UArray_islower(UArray *self);
12 | BASEKIT_API void UArray_isprint(UArray *self);
13 | BASEKIT_API void UArray_ispunct(UArray *self);
14 | BASEKIT_API void UArray_isspace(UArray *self);
15 | BASEKIT_API void UArray_isupper(UArray *self);
16 | BASEKIT_API void UArray_isxdigit(UArray *self);
17 | BASEKIT_API void UArray_tolower(UArray *self);
18 | BASEKIT_API void UArray_toupper(UArray *self);
19 |
20 | BASEKIT_API int UArray_isLowercase(UArray *self);
21 | BASEKIT_API int UArray_isUppercase(UArray *self);
22 |
--------------------------------------------------------------------------------
/libs/basekit/source/UArray_format.h:
--------------------------------------------------------------------------------
1 | /*
2 | copyright: Steve Dekorte, 2006. All rights reserved.
3 | license: See _BSDLicense.txt.
4 | */
5 |
6 | BASEKIT_API UArray *UArray_newWithFormat_(const char *format, ...);
7 | BASEKIT_API UArray *UArray_newWithVargs_(const char *format, va_list ap);
8 | BASEKIT_API UArray *UArray_fromFormat_(UArray *self, const char *format, ...);
9 | BASEKIT_API void UArray_fromVargs_(UArray *self, const char *format,
10 | va_list ap);
11 |
12 | BASEKIT_API UArray *UArray_asNewHexStringUArray(UArray *self);
13 |
--------------------------------------------------------------------------------
/libs/basekit/source/UArray_stream.h:
--------------------------------------------------------------------------------
1 | /*
2 | copyright: Steve Dekorte, 2006. All rights reserved.
3 | license: See _BSDLicense.txt.
4 | */
5 |
6 | // these return item read/written count or -1 on error
7 |
8 | // read
9 |
10 | BASEKIT_API size_t UArray_fread_(UArray *self, FILE *fp);
11 | BASEKIT_API long UArray_readFromCStream_(UArray *self, FILE *stream);
12 | BASEKIT_API long UArray_readFromFilePath_(UArray *self, const UArray *path);
13 | BASEKIT_API long
14 | UArray_readNumberOfItems_fromCStream_(UArray *self, size_t size, FILE *stream);
15 | BASEKIT_API int UArray_readLineFromCStream_(UArray *self, FILE *stream);
16 |
17 | // write
18 |
19 | BASEKIT_API size_t UArray_fwrite_(const UArray *self, size_t size,
20 | FILE *stream);
21 | BASEKIT_API long UArray_writeToCStream_(const UArray *self, FILE *stream);
22 | BASEKIT_API long UArray_writeToFilePath_(const UArray *self,
23 | const UArray *path);
24 |
--------------------------------------------------------------------------------
/libs/basekit/source/UArray_utf.h:
--------------------------------------------------------------------------------
1 | /*
2 | copyright: Steve Dekorte, 2006. All rights reserved.
3 | license: See _BSDLicense.txt.
4 | */
5 |
6 | BASEKIT_API int UArray_convertToFixedSizeType(UArray *self);
7 |
8 | BASEKIT_API size_t
9 | UArray_numberOfCharacters(const UArray *self); // returns 0 on error
10 |
11 | BASEKIT_API int UArray_maxCharSize(const UArray *self);
12 | BASEKIT_API int UArray_isMultibyte(const UArray *self);
13 | BASEKIT_API int UArray_isLegalUTF8(const UArray *self);
14 |
15 | BASEKIT_API UArray *UArray_asUTF8(const UArray *self);
16 | BASEKIT_API UArray *UArray_asUCS2(const UArray *self);
17 | BASEKIT_API UArray *UArray_asUCS4(const UArray *self);
18 |
19 | BASEKIT_API void UArray_convertToUTF8(UArray *self);
20 | BASEKIT_API void UArray_convertToUCS2(UArray *self);
21 | BASEKIT_API void UArray_convertToUCS4(UArray *self);
22 |
--------------------------------------------------------------------------------
/libs/basekit/source/cdecode.h:
--------------------------------------------------------------------------------
1 | /*
2 | cdecode.h - c header for a base64 decoding algorithm
3 |
4 | This is part of the libb64 project, and has been placed in the public domain.
5 | For details, see http://sourceforge.net/projects/libb64
6 | */
7 |
8 | #ifndef BASE64_CDECODE_H
9 | #define BASE64_CDECODE_H
10 |
11 | typedef enum { step_a, step_b, step_c, step_d } base64_decodestep;
12 |
13 | typedef struct {
14 | base64_decodestep step;
15 | char plainchar;
16 | } base64_decodestate;
17 |
18 | void base64_init_decodestate(base64_decodestate *state_in);
19 |
20 | int base64_decode_value(char value_in);
21 |
22 | int base64_decode_block(const char *code_in, const int length_in,
23 | char *plaintext_out, base64_decodestate *state_in);
24 |
25 | #endif /* BASE64_CDECODE_H */
26 |
--------------------------------------------------------------------------------
/libs/basekit/source/cencode.h:
--------------------------------------------------------------------------------
1 | /*
2 | cencode.h - c header for a base64 encoding algorithm
3 |
4 | This is part of the libb64 project, and has been placed in the public domain.
5 | For details, see http://sourceforge.net/projects/libb64
6 | */
7 |
8 | #ifndef BASE64_CENCODE_H
9 | #define BASE64_CENCODE_H
10 |
11 | typedef enum { step_A, step_B, step_C } base64_encodestep;
12 |
13 | typedef struct {
14 | base64_encodestep step;
15 | char result;
16 | int stepcount;
17 | int chars_per_line;
18 | } base64_encodestate;
19 |
20 | void base64_init_encodestate(base64_encodestate *state_in);
21 |
22 | char base64_encode_value(char value_in);
23 |
24 | int base64_encode_block(const char *plaintext_in, int length_in, char *code_out,
25 | base64_encodestate *state_in);
26 |
27 | int base64_encode_blockend(char *code_out, base64_encodestate *state_in);
28 |
29 | #endif /* BASE64_CENCODE_H */
30 |
--------------------------------------------------------------------------------
/libs/basekit/source/simd_cph/test/Makefile:
--------------------------------------------------------------------------------
1 |
2 | CC = gcc
3 |
4 | # X86
5 | #COPTS = -I../include -g -O2 -mmmx -msse
6 | #PLATFORM = X86
7 | DIS = objdump -d -S
8 |
9 | # EMULATED
10 | COPTS = -I../include -D__SIMD_EMU__ -g -O2
11 | PLATFORM = emu
12 |
13 | default: test_simd.c emulated
14 | ${CC} ${COPTS} -o test_simd_${PLATFORM} test_simd.c
15 |
16 | emulated: test_simd.c
17 | ${CC} ${COPTS} -D__SIMD_EMU__ -o test_simd_emu test_simd.c
18 |
19 | xdiff: default emulated
20 | ${DIS} test_simd_${PLATFORM} > test_simd_${PLATFORM}.dis
21 | ${DIS} test_simd_emu > test_simd_emu.dis
22 | xdiff test_simd_emu.dis test_simd_${PLATFORM}.dis
23 |
24 | clean:
25 | rm test_simd_${PLATFORM} test_simd_emu *.dis
26 |
--------------------------------------------------------------------------------
/libs/basekit/source/simd_cph/test/test_simd_emu:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IoLanguage/io/7113659c4342e98e9a86482b25441775fa066a96/libs/basekit/source/simd_cph/test/test_simd_emu
--------------------------------------------------------------------------------
/libs/basekit/source/utf_convert.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008-2009 Bjoern Hoehrmann
2 | // See http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ for details.
3 |
4 | typedef unsigned char UTF8; /* typically 8 bits */
5 | typedef unsigned char Boolean; /* 0 or 1 */
6 |
7 | Boolean isLegalUTF8Sequence(const UTF8 *source, const UTF8 *sourceEnd);
8 |
--------------------------------------------------------------------------------
/libs/coroutine/depends:
--------------------------------------------------------------------------------
1 | basekit
--------------------------------------------------------------------------------
/libs/coroutine/samples/Makefile:
--------------------------------------------------------------------------------
1 | twoCoroTest: twoCoroTest.c
2 | $(CC) -I../../basekit/_build/headers -I../_build/headers -L../_build/lib -o $@ $< -lcoroutine
3 |
4 |
--------------------------------------------------------------------------------
/libs/coroutine/samples/twoCoroTest.c:
--------------------------------------------------------------------------------
1 | #include "Coro.h"
2 | #include
3 |
4 | Coro *firstCoro, *secondCoro;
5 |
6 | void secondTask(void *context) {
7 | int num = 0;
8 |
9 | printf("secondTask created with value %d\n", *(int *)context);
10 |
11 | while (1) {
12 | printf("secondTask: %d %d\n", (int)Coro_bytesLeftOnStack(secondCoro),
13 | num++);
14 | Coro_switchTo_(secondCoro, firstCoro);
15 | }
16 | }
17 |
18 | void firstTask(void *context) {
19 | int value = 2;
20 | int num = 0;
21 |
22 | printf("firstTask created with value %d\n", *(int *)context);
23 | secondCoro = Coro_new();
24 | Coro_startCoro_(firstCoro, secondCoro, (void *)&value, secondTask);
25 |
26 | while (1) {
27 | printf("firstTask: %d %d\n", (int)Coro_bytesLeftOnStack(firstCoro),
28 | num++);
29 | Coro_switchTo_(firstCoro, secondCoro);
30 | }
31 | }
32 |
33 | int main() {
34 | Coro *mainCoro = Coro_new();
35 | int value = 1;
36 |
37 | Coro_initializeMainCoro(mainCoro);
38 |
39 | firstCoro = Coro_new();
40 | Coro_startCoro_(mainCoro, firstCoro, (void *)&value, firstTask);
41 | }
42 |
--------------------------------------------------------------------------------
/libs/garbagecollector/depends:
--------------------------------------------------------------------------------
1 | basekit
--------------------------------------------------------------------------------
/libs/iovm/depends:
--------------------------------------------------------------------------------
1 | basekit coroutine garbagecollector
2 |
--------------------------------------------------------------------------------
/libs/iovm/io/A0_Object.io:
--------------------------------------------------------------------------------
1 | //doc Object addTrait Takes another object, whose slots will be copied into the receiver. Optionally takes a second argument, a Map object containing string -> string pairs, holding conflicting slot names and names to rename them to. I.e., if you have two objects A and B, both have a slot named foo, you issue A addTrait(B, Map clone atPut("foo", "newFoo")) the value of B foo will be placed in A newFoo.
2 | Object addTrait := method(obj,
3 | if(call message arguments size == 0,
4 | Exception raise("addTrait requires at least one argument"))
5 | resolutions := call evalArgAt(1)
6 | if(resolutions isNil, resolutions = Map clone)
7 |
8 | getSlot("obj") foreachSlot(name, value,
9 | if(getSlot("self") hasLocalSlot(name),
10 | if(name == "type", continue)
11 | if(resolutions at(name) isNil, Exception raise("""Slot '#{name}' already exists in #{getSlot("self") type}[#{getSlot("self") uniqueId}]. Give it a new name in the map argument.""" interpolate))
12 | getSlot("self") setSlot(resolutions at(name), getSlot("value"))
13 | continue
14 | )
15 | getSlot("self") setSlot(name, getSlot("value"))
16 | )
17 |
18 | getSlot("self")
19 | )
20 |
--------------------------------------------------------------------------------
/libs/iovm/io/CFunction.io:
--------------------------------------------------------------------------------
1 | getSlot("CFunction") do(
2 |
3 | //doc CFunction name Returns the CFunction name in the form CFunction_Pointer.
4 | name := method(typeName ifNilEval("Object") .. "_" .. uniqueName ifNilEval("") .. "()")
5 |
6 | //doc CFunction asSimpleString Returns the CFunction name.
7 | asSimpleString := method(name)
8 |
9 | //doc CFunction asString Same as asSimpleString.
10 | asString := getSlot("asSimpleString")
11 | )
12 |
--------------------------------------------------------------------------------
/libs/iovm/io/Debugger.io:
--------------------------------------------------------------------------------
1 | Debugger do(
2 | /*doc Debugger description
3 | To start debugging a coroutine, call
4 |
5 | Coroutine currentCoroutine setMessageDebugging(true)
6 |
7 | Then each message sent within that coroutine will cause the Debugger
8 | vmWillSendMessage slot to be activated and the Debugger slots:
9 | messageCoroutine, messageSelf, messageLocals, and message will be set with the
10 | values related to the current message send. You can override vmWillSendMessage to
11 | implement your own debugging mechanisms.
12 | */
13 |
14 | //doc Debugger start Starts the debugger.
15 | start := method(
16 | loop(
17 | self vmWillSendMessage(self message name)
18 | messageCoroutine resume
19 | )
20 | )
21 |
22 | //doc Debugger vmWillSendMessage Override this method to implement your own debugging mechanisms. Default behavior is to print every message sent.
23 | vmWillSendMessage := method(
24 | writeln("Debugger vmWillSendMessage(", self message name, ")")
25 | )
26 |
27 | //doc Debugger debuggerCoroutine Returns the coroutine used for the debugger.
28 | debuggerCoroutine := coroFor(start)
29 | yield
30 | )
31 |
32 |
33 |
--------------------------------------------------------------------------------
/libs/iovm/io/DynLib.io:
--------------------------------------------------------------------------------
1 | DynLib do(
2 | init := method(
3 | self forward := method(
4 | self performWithArgList("call", list(call message name, call message arguments map(x, self doMessage(x))) flatten)
5 | )
6 | )
7 | )
8 |
--------------------------------------------------------------------------------
/libs/iovm/io/Message.io:
--------------------------------------------------------------------------------
1 | Message do(
2 | /*doc Message union(other) Creates a union of the receiver and the other parameter.
3 | Returns a new message object with the receivers message as the first argument of the returned message,
4 | and the other parameter's arguments as each successive argument to the new message.
5 |
6 |
7 | Io> message(a) union(message(b))
8 | ==> [unnamed](a, b)
9 |
10 | */
11 | union := method(
12 | r := Message clone
13 | l := list(self)
14 | call message argAt(0) arguments foreach(arg, l append(arg))
15 | r setArguments(l)
16 | )
17 |
18 | //doc Message asSimpleString Returns one-line string representation up to 40 characters long.
19 | asSimpleString := method(
20 | s := self asString asMutable replaceSeq(" ;\n", "; ")
21 | if(s size > 40,
22 | s exclusiveSlice(0, 37) .. "..."
23 | ,
24 | s
25 | )
26 | )
27 | )
28 |
--------------------------------------------------------------------------------
/libs/iovm/io/Sandbox.io:
--------------------------------------------------------------------------------
1 | Sandbox do(
2 | //doc Sandbox printCallback(string) default implementation is; method(string, string print)
3 | printCallback := method(string, string print)
4 | )
5 |
--------------------------------------------------------------------------------
/libs/iovm/io/Vector.io:
--------------------------------------------------------------------------------
1 | Sequence do(
2 | x := method(at(0))
3 | y := method(at(1))
4 | z := method(at(2))
5 | setX := method(a, atPut(0, a); self)
6 | setY := method(a, atPut(1, a); self)
7 | setZ := method(a, atPut(2, a); self)
8 | set := method(call evalArgs foreach(i, v, atPut(i, v)))
9 | rootMeanSquare := method(meanSquare sqrt)
10 | )
11 |
12 | Sequence addEquals := Sequence getSlot("+=")
13 |
--------------------------------------------------------------------------------
/libs/iovm/io/_old/A0__.io:
--------------------------------------------------------------------------------
1 | Object do(
2 | deprecated := method(Exception raise("deprecated method"))
3 | )
4 |
--------------------------------------------------------------------------------
/libs/iovm/io/_test/System.io:
--------------------------------------------------------------------------------
1 | /*
2 | options := System getOptions(args) clone
3 | options foreach(k, v,
4 | if(v type == List type,
5 | v foreach(i, j, writeln("Got unnamed argument with value: " .. j))
6 | continue
7 | )
8 | writeln("Got option: " .. k .. " with value: " .. v)
9 | )
10 | */
11 |
--------------------------------------------------------------------------------
/libs/iovm/samples/VectorPerformance.io:
--------------------------------------------------------------------------------
1 |
2 |
3 | iters := 1000
4 | size := 1024
5 | ops := iters * size
6 |
7 | v1 := Vector clone setSize(size) rangeFill
8 | v2 := Vector clone setSize(size) rangeFill
9 |
10 | dt := Date secondsToRun(
11 | iters repeat(v1 *= v2)
12 | )
13 |
14 | writeln(dt, " seconds for ", ops, " ops")
15 | writeln((ops/(dt*1000000000)) asString(1, 3), " GFLOPS")
16 |
17 |
18 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoCollector.h:
--------------------------------------------------------------------------------
1 |
2 | // metadoc Collector copyright Steve Dekorte 2002
3 | // metadoc Collector license BSD revised
4 |
5 | #ifndef IoCollector_DEFINED
6 | #define IoCollector_DEFINED 1
7 |
8 | #include "IoObject.h"
9 |
10 | #ifdef __cplusplus
11 | extern "C" {
12 | #endif
13 |
14 | IoObject *IoCollector_proto(void *state);
15 |
16 | #ifdef __cplusplus
17 | }
18 | #endif
19 | #endif
20 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoCompiler.h:
--------------------------------------------------------------------------------
1 |
2 | // metadoc Compiler copyright Steve Dekorte 2002
3 | // metadoc Compiler license BSD revised
4 |
5 | #ifndef IoCompiler_DEFINED
6 | #define IoCompiler_DEFINED 1
7 |
8 | #include "IoObject.h"
9 |
10 | #ifdef __cplusplus
11 | extern "C" {
12 | #endif
13 |
14 | IoObject *IoCompiler_proto(void *state);
15 |
16 | IO_METHOD(IoObject, tokensForString);
17 | IO_METHOD(IoObject, messageForTokens);
18 | IO_METHOD(IoObject, messageForString);
19 | IO_METHOD(IoObject, messageForString2);
20 |
21 | #ifdef __cplusplus
22 | }
23 | #endif
24 | #endif
25 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoContext.h:
--------------------------------------------------------------------------------
1 |
2 | // metadoc Context copyright Steve Dekorte 2002
3 | // metadoc Context license BSD revised
4 |
5 | #ifndef IOCONTEXT_DEFINED
6 | #define IOCONTEXT_DEFINED 1
7 |
8 | #include "IoObject_struct.h"
9 |
10 | #ifdef __cplusplus
11 | extern "C" {
12 | #endif
13 |
14 | typedef struct {
15 | void *self; // activationContext
16 | void *locals; // currentContext
17 | void *message;
18 | void *slotContext;
19 | } IoContext;
20 |
21 | #define IOCONTEXT(self, locals, message) ((IoContext *){self, locals, message})
22 |
23 | /*
24 |
25 | #define SELF (context->self)
26 | #define LOCALS (context->locals)
27 | #define MESSAGE (context->message)
28 |
29 | example:
30 |
31 | IO_METHOD(IoDuration, days);
32 |
33 | becomes:
34 |
35 | IoObject *IoDuration_days(IoContext *context);
36 | */
37 |
38 | #ifdef __cplusplus
39 | }
40 | #endif
41 | #endif
42 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoDebugger.c:
--------------------------------------------------------------------------------
1 |
2 | // metadoc Debugger category Core
3 | // metadoc Debugger copyright Steve Dekorte 2002
4 | // metadoc Debugger license BSD revised
5 | /*metadoc Debugger description
6 | Contains methods related to the IoVM debugger.
7 | */
8 |
9 | #include "IoDebugger.h"
10 | #include "IoMessage_parser.h"
11 |
12 | IoObject *IoDebugger_proto(void *state) {
13 | IoMethodTable methodTable[] = {
14 | {NULL, NULL},
15 | };
16 |
17 | IoObject *self = IoObject_new(state);
18 | IoObject_setSlot_to_(self, IOSYMBOL("type"), IOSYMBOL("Debugger"));
19 | IoObject_addMethodTable_(self, methodTable);
20 | return self;
21 | }
22 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoDebugger.h:
--------------------------------------------------------------------------------
1 |
2 | // metadoc Debugger copyright Steve Dekorte 2002
3 | // metadoc Debugger license BSD revised
4 |
5 | #ifndef IoDebugger_DEFINED
6 | #define IoDebugger_DEFINED 1
7 |
8 | #include "IoObject.h"
9 |
10 | #ifdef __cplusplus
11 | extern "C" {
12 | #endif
13 |
14 | IoObject *IoDebugger_proto(void *state);
15 |
16 | #ifdef __cplusplus
17 | }
18 | #endif
19 | #endif
20 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoError.h:
--------------------------------------------------------------------------------
1 | // metadoc Error copyright Rich Collins 2008
2 | // metadoc Error license BSD revised
3 |
4 | #ifndef IOERROR_DEFINED
5 | #define IOERROR_DEFINED 1
6 |
7 | #ifdef __cplusplus
8 | extern "C" {
9 | #endif
10 |
11 | #include "IoObject.h"
12 |
13 | #define ISERROR(self) \
14 | IoObject_hasCloneFunc_(self, (IoTagCloneFunc *)IoError_rawClone)
15 |
16 | typedef IoObject IoError;
17 |
18 | IoError *IoError_rawClone(IoError *self);
19 | IoError *IoError_proto(void *state);
20 | IoError *IoError_new(void *state);
21 |
22 | void IoError_free(IoError *self);
23 | void IoError_mark(IoError *self);
24 |
25 | IOVM_API IoObject *IoError_newWithMessageFormat_(void *state,
26 | const char *format, ...);
27 | IOVM_API IoObject *IoError_newWithCStringMessage_(IoState *state,
28 | char *cString);
29 |
30 | #ifdef __cplusplus
31 | }
32 | #endif
33 | #endif
34 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoFile_stat.h:
--------------------------------------------------------------------------------
1 | // metadoc File copyright Steve Dekorte 2002
2 | // metadoc File license BSD revised
3 |
4 | #ifndef IOSEQ_FNMATCH_DEFINED
5 | #define IOSEQ_FNMATCH_DEFINED 1
6 |
7 | #include "IoFile.h"
8 |
9 | void IoFile_statInit(IoFile *self);
10 |
11 | IO_METHOD(IoFile, stat);
12 |
13 | IO_METHOD(IoFile, protectionMode);
14 | IO_METHOD(IoFile, lastAccessDate);
15 | IO_METHOD(IoFile, lastInfoChangeDate);
16 | IO_METHOD(IoFile, lastDataChangeDate);
17 | IO_METHOD(IoFile, userId);
18 | IO_METHOD(IoFile, groupId);
19 | IO_METHOD(IoFile, statSize);
20 |
21 | IO_METHOD(IoFile, isDirectory);
22 | IO_METHOD(IoFile, isPipe);
23 | IO_METHOD(IoFile, isLink);
24 | IO_METHOD(IoFile, isRegularFile);
25 | IO_METHOD(IoFile, isSocket);
26 |
27 | IO_METHOD(IoFile, isUserExecutable);
28 |
29 | #endif
30 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoMessage_opShuffle.h:
--------------------------------------------------------------------------------
1 | /*
2 | copyright
3 | Jonathan Wright, 2006
4 | licence
5 | BSD revised
6 | */
7 |
8 | #ifndef IOMESSAGE_OPSHUFFLE_DEFINED
9 | #define IOMESSAGE_OPSHUFFLE_DEFINED 1
10 |
11 | #include "IoMessage.h"
12 |
13 | #ifdef __cplusplus
14 | extern "C" {
15 | #endif
16 |
17 | IoMessage *IoMessage_opShuffle(IoMessage *self, IoObject *locals, IoMessage *m);
18 | void IoMessage_opShuffle_(IoMessage *self);
19 |
20 | #ifdef __cplusplus
21 | }
22 | #endif
23 | #endif
24 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoMessage_parser.h:
--------------------------------------------------------------------------------
1 |
2 | // metadoc Message copyright Steve Dekorte 2002
3 | // metadoc Message license BSD revised
4 |
5 | #ifndef IOMESSAGE_PARSER_DEFINED
6 | #define IOMESSAGE_PARSER_DEFINED 1
7 |
8 | #include "IoMessage.h"
9 | #include "IoLexer.h"
10 |
11 | #ifdef __cplusplus
12 | extern "C" {
13 | #endif
14 |
15 | IoMessage *IoMessage_newFromText_label_(void *state, const char *text,
16 | const char *label);
17 | IoMessage *IoMessage_newFromText_labelSymbol_(void *state, const char *text,
18 | IoSymbol *label);
19 | IoMessage *IoMessage_newParse(void *state, IoLexer *lexer);
20 |
21 | #ifdef __cplusplus
22 | }
23 | #endif
24 | #endif
25 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoObject_flow.h:
--------------------------------------------------------------------------------
1 |
2 | // metadoc Object copyright Steve Dekorte 2002
3 | // metadoc Object license BSD revised
4 |
5 | // loop
6 |
7 | IO_METHOD(IoObject, loop);
8 | IO_METHOD(IoObject, while);
9 | IO_METHOD(IoObject, foreachSlot);
10 | IO_METHOD(IoObject, for);
11 |
12 | // break
13 |
14 | IO_METHOD(IoObject, returnIfNonNil);
15 | IO_METHOD(IoObject, return );
16 | IO_METHOD(IoObject, break);
17 | IO_METHOD(IoObject, continue);
18 | IO_METHOD(IoObject, stopStatus);
19 |
20 | // branch
21 |
22 | IO_METHOD(IoObject, if);
23 | IO_METHOD(IoObject, if2);
24 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoProfiler.h:
--------------------------------------------------------------------------------
1 |
2 | // metadoc Collector copyright Steve Dekorte 2002
3 | // metadoc Collector license BSD revised
4 |
5 | #ifndef IoProfiler_DEFINED
6 | #define IoProfiler_DEFINED 1
7 |
8 | #include "IoObject.h"
9 |
10 | #ifdef __cplusplus
11 | extern "C" {
12 | #endif
13 |
14 | IoObject *IoProfiler_proto(void *state);
15 |
16 | #ifdef __cplusplus
17 | }
18 | #endif
19 | #endif
20 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoSeq_inline.h:
--------------------------------------------------------------------------------
1 |
2 | // metadoc Sequence copyright Steve Dekorte 2002
3 | // metadoc Sequence license BSD revised
4 |
5 | #ifdef IOSEQ_C
6 | #define IO_IN_C_FILE
7 | #endif
8 | #include "Common_inline.h"
9 | #ifdef IO_DECLARE_INLINES
10 |
11 | /*
12 | IOINLINE int ISMUTABLESEQ(IoObject *self)
13 | {
14 | return ISSEQ(self) && !(IoObject_isSymbol(self));
15 | }
16 | */
17 |
18 | #undef IO_IN_C_FILE
19 | #endif
20 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoState_coros.c:
--------------------------------------------------------------------------------
1 | //--metadoc State copyright Steve Dekorte 2002
2 | //--metadoc State license BSD revised
3 |
4 | #include "IoState.h"
5 | #include "IoObject.h"
6 |
7 | IoObject *IoState_currentCoroutine(IoState *self) {
8 | return self->currentCoroutine;
9 | }
10 |
11 | void IoState_setCurrentCoroutine_(IoState *self, IoObject *coroutine) {
12 | self->currentCoroutine = coroutine;
13 | self->currentIoStack = IoCoroutine_rawIoStack(coroutine);
14 | Collector_setMarkBeforeSweepValue_(self->collector, coroutine);
15 | }
16 |
17 | void IoState_yield(IoState *self) {
18 | IoMessage_locals_performOn_(self->yieldMessage, self->lobby, self->lobby);
19 | }
20 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoState_coros.h:
--------------------------------------------------------------------------------
1 |
2 | // metadoc State copyright Steve Dekorte 2002
3 | // metadoc State license BSD revised
4 |
5 | #include "IoVMApi.h"
6 |
7 | IOVM_API IoObject *IoState_currentCoroutine(IoState *self);
8 | IOVM_API void IoState_setCurrentCoroutine_(IoState *self, IoObject *coroutine);
9 |
10 | IOVM_API void IoState_yield(IoState *self);
11 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoState_debug.h:
--------------------------------------------------------------------------------
1 |
2 |
3 | void IoState_show(IoState *self);
4 |
5 | IoObject *IoState_replacePerformFunc_with_(IoState *self,
6 | IoTagPerformFunc *oldFunc,
7 | IoTagPerformFunc *newFunc);
8 |
9 | void IoState_debuggingOn(IoState *self);
10 | void IoState_debuggingOff(IoState *self);
11 |
12 | int IoState_hasDebuggingCoroutine(IoState *self);
13 |
14 | void IoState_updateDebuggingMode(IoState *self);
15 |
16 | void IoState_setupUserInterruptHandler(IoState *self);
17 |
18 | void IoState_callUserInterruptHandler(IoState *self);
19 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoState_exceptions.c:
--------------------------------------------------------------------------------
1 |
2 | //--metadoc State copyright Steve Dekorte 2002
3 | //--metadoc State license BSD revised
4 |
5 | #include "IoState.h"
6 | #include "IoObject.h"
7 | #include "IoCoroutine.h"
8 | #include "IoSeq.h"
9 |
10 | //#define IOSTATE_SHOW_ERRORS 1
11 |
12 | void IoState_fatalError_(IoState *self, char *error) {
13 | fputs(error, stderr);
14 | fputs("\n", stderr);
15 | exit(-1);
16 | }
17 |
18 | void IoState_error_(IoState *self, IoMessage *m, const char *format, ...) {
19 | IoSymbol *description;
20 |
21 | va_list ap;
22 | va_start(ap, format);
23 | description = IoState_symbolWithUArray_copy_(
24 | self, UArray_newWithVargs_(format, ap), 0);
25 | va_end(ap);
26 |
27 | #ifdef IOSTATE_SHOW_ERRORS
28 | fputs("\nIoState_error_: ", stderr);
29 | fputs(CSTRING(description), stderr);
30 | fputs("\n\n", stderr);
31 | #endif
32 |
33 | while (Collector_isPaused(self->collector)) {
34 | Collector_popPause(self->collector);
35 | }
36 |
37 | {
38 | IoCoroutine *coroutine = IoState_currentCoroutine(self);
39 | IoCoroutine_raiseError(coroutine, description, m);
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoState_exceptions.h:
--------------------------------------------------------------------------------
1 |
2 | // metadoc State copyright Steve Dekorte 2002
3 | // metadoc State license BSD revised
4 |
5 | #include "IoVMApi.h"
6 |
7 | IOVM_API void IoState_fatalError_(IoState *self, char *error);
8 |
9 | IOVM_API void IoState_error_(IoState *self, IoMessage *m, const char *format,
10 | ...);
11 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoState_symbols.h:
--------------------------------------------------------------------------------
1 |
2 | // metadoc State copyright Steve Dekorte 2002
3 | // metadoc State license BSD revised
4 |
5 | IOVM_API void IoState_setupCachedNumbers(IoState *self);
6 | IOVM_API IoObject *IoState_numberWithDouble_(IoState *self, double n);
7 |
8 | IOVM_API IoSymbol *IoState_symbolWithUArray_copy_(IoState *self, UArray *ba,
9 | int copy);
10 | IOVM_API IoSymbol *
11 | IoState_symbolWithUArray_copy_convertToFixedWidth(IoState *self, UArray *ba,
12 | int copy);
13 | IOVM_API IoSymbol *IoState_symbolWithCString_(IoState *self, const char *s);
14 | IOVM_API IoSymbol *
15 | IoState_symbolWithCString_length_(IoState *self, const char *s, size_t length);
16 |
17 | IOVM_API IoSymbol *IoState_addSymbol_(IoState *self, IoSymbol *s);
18 | IOVM_API void IoState_removeSymbol_(IoState *self, IoSymbol *aString);
19 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoVM.h:
--------------------------------------------------------------------------------
1 |
2 | #include "IoBlock.h"
3 | #include "IoSeq.h"
4 | #include "IoCFunction.h"
5 | #include "IoCoroutine.h"
6 | #include "IoDate.h"
7 | #include "IoFile.h"
8 | #include "IoList.h"
9 | #include "IoMap.h"
10 | #include "IoMessage.h"
11 | #include "IoMessage_parser.h"
12 | #include "IoObject.h"
13 | #include "IoState.h"
14 | #include "IoSeq.h"
15 | #include "IoTag.h"
16 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoVMApi.h:
--------------------------------------------------------------------------------
1 | #ifndef IOVM_API_H_
2 | #define IOVM_API_H_
3 |
4 | #if defined(WIN32)
5 | #if defined(BUILDING_IOVM_DLL) || defined(BUILDING_IOVMALL_DLL)
6 | #define IOVM_API __declspec(dllexport)
7 | #else
8 | #define IOVM_API __declspec(dllimport)
9 | #endif
10 |
11 | #else
12 | #define IOVM_API
13 | #endif
14 |
15 | #endif
16 |
--------------------------------------------------------------------------------
/libs/iovm/source/IoVersion.h:
--------------------------------------------------------------------------------
1 | #ifndef IO_VERSION_STRING
2 | #define IO_VERSION_STRING "20170906"
3 | #endif
4 |
--------------------------------------------------------------------------------
/libs/iovm/source/PHash_struct.h:
--------------------------------------------------------------------------------
1 | // PHash.h
2 | // CuckooHashTable
3 | // Created by Steve Dekorte on 2009 04 28.
4 |
5 | #ifndef PHASH_STRUCT_DEFINED
6 | #define PHASH_STRUCT_DEFINED 1
7 |
8 | #ifdef __cplusplus
9 | extern "C" {
10 | #endif
11 |
12 | typedef struct {
13 | void *k;
14 | void *v;
15 | } PHashRecord;
16 |
17 | typedef struct {
18 | unsigned char *records;
19 | size_t size;
20 | size_t keyCount;
21 | intptr_t mask;
22 | } PHash;
23 |
24 | #ifdef __cplusplus
25 | }
26 | #endif
27 | #endif
28 |
--------------------------------------------------------------------------------
/libs/iovm/tests/correctness/CoroTest.io:
--------------------------------------------------------------------------------
1 | CoroTest := UnitTest clone do(
2 | testRecentInChain := method(
3 | o := Object clone
4 | o s := Sequence clone
5 | o l := method(
6 | j := 1
7 | loop(
8 | s appendSeq("a", j asString, ".")
9 | if(j%2==0, pause)
10 | j = j + 1
11 | )
12 | )
13 |
14 | run := method(
15 | o @@l
16 |
17 | for(i,1,4,
18 | yield
19 | o s appendSeq("b", i asString, ".")
20 | if(i==2, o actorCoroutine recentInChain resumeLater)
21 | )
22 | )
23 |
24 | run
25 | assertEquals("a1.a2.b1.b2.a3.a4.b3.b4.", o s asString)
26 | )
27 | )
28 |
--------------------------------------------------------------------------------
/libs/iovm/tests/correctness/IfTest.io:
--------------------------------------------------------------------------------
1 | IfTest := UnitTest clone do(
2 |
3 | /*
4 | Object if := method(condition,
5 | index = if(condition, 1, 2)
6 | if(call message arguments size > index,
7 | call sender doMessage(call message argAt(index), call sender)
8 | ,
9 | if(condition, true, false)
10 | )
11 | )
12 | */
13 |
14 | testIfEval := method(
15 | v := false
16 | if(v := true)
17 | assertTrue(v)
18 | )
19 |
20 | testTrue := method(
21 | assertTrue(if(true))
22 | )
23 |
24 | testTrueExpression := method(
25 | assertEquals(if(true, 1), 1)
26 | )
27 |
28 | testTrue2Expressions := method(
29 | assertEquals(if(true, 1, 2), 1)
30 | )
31 |
32 | testFalse := method(
33 | assertFalse(if(false))
34 | )
35 |
36 | testFalseExpression := method(
37 | assertFalse(if(false, 1))
38 | )
39 |
40 | testFalse2Expressions := method(
41 | assertEquals(if(false, 1, 2), 2)
42 | )
43 |
44 | testNil := method(
45 | assertFalse(if)
46 | assertFalse(if())
47 | assertFalse(if(nil))
48 | )
49 |
50 | testOtherTrue := method(
51 | assertTrue(if(Object))
52 | assertTrue(if(13))
53 | assertTrue(if("foo"))
54 | )
55 | )
56 |
--------------------------------------------------------------------------------
/libs/iovm/tests/correctness/LoopTest.io:
--------------------------------------------------------------------------------
1 |
2 | LoopTest := UnitTest clone do(
3 |
4 | testLoop1 := method(
5 | loop(
6 | break
7 | fail
8 | )
9 | )
10 |
11 | testLoop2 := method(
12 | i := 0
13 | loop(
14 | i = i + 1
15 | if( i < 10, continue, break)
16 | fail
17 | )
18 | assertTrue( i == 10 )
19 | )
20 |
21 | testLoop3 := method(
22 | i := 0
23 | loop(
24 | i = i + 1
25 | if( i >= 10, break, continue)
26 | fail
27 | )
28 | assertTrue( i == 10 )
29 | )
30 | )
31 |
--------------------------------------------------------------------------------
/libs/iovm/tests/correctness/MessageTest.io:
--------------------------------------------------------------------------------
1 |
2 | MessageTest := UnitTest clone do(
3 | testClone := method(
4 | message := Message clone
5 | assertNotSame(Message, message)
6 | assertEquals(Message name, message name)
7 | assertEquals(Message next, message next)
8 | assertEquals(Message arguments, message arguments)
9 | )
10 | )
11 |
--------------------------------------------------------------------------------
/libs/iovm/tests/correctness/MiscTest.io:
--------------------------------------------------------------------------------
1 |
2 | MiscTest := UnitTest clone do(
3 | testAssignmentMultiplicationBug := method(
4 | e := try (r := 3 * 4)
5 | e catch ( Exception, fail )
6 | )
7 |
8 | testActivate := method(
9 | a := Object clone
10 | a activate := method(activateWorks = true)
11 | a setIsActivatable(true)
12 |
13 | activateWorks := false
14 | a
15 |
16 | assertTrue(activateWorks)
17 | )
18 | )
19 |
--------------------------------------------------------------------------------
/libs/iovm/tests/correctness/SequenceBitTest.io:
--------------------------------------------------------------------------------
1 | SequenceBitTest := UnitTest clone do(
2 |
3 | testBitsWithinFirstByte := method(
4 | assertEquals(1, 1 asCharacter bitAt(0))
5 | assertEquals(0, 2 asCharacter bitAt(0))
6 | assertEquals(1, 2 asCharacter bitAt(1))
7 |
8 | for(i, 0, 7, assertEquals(0, 0 asCharacter bitAt(i)))
9 | for(i, 0, 7, assertEquals(1, 0xff asCharacter bitAt(i)))
10 | )
11 |
12 | testBitsWithinSecondByte := method(
13 | assertEquals(1, ("\0" .. 1 asCharacter) bitAt(8 + 0))
14 | assertEquals(0, ("\0" .. 2 asCharacter) bitAt(8 + 0))
15 | assertEquals(1, ("\0" .. 2 asCharacter) bitAt(8 + 1))
16 |
17 | for(i, 0, 7, assertEquals(0, ("\0" .. 0 asCharacter) bitAt(8 + i)))
18 | for(i, 0, 7, assertEquals(1, ("\0" .. 0xff asCharacter) bitAt(8 + i)))
19 | )
20 |
21 | byteList := method(s,
22 | l := list()
23 | s sizeInBytes repeat(i,
24 | l append(s byteAt(i))
25 | )
26 | l
27 | )
28 |
29 | testByteAtByteItemType := method(
30 | assertEquals(list(97, 98, 99, 100), byteList("abcd"))
31 | )
32 |
33 | testByteAtTwoByteItemType := method(
34 | assertEquals(list(97, 98, 99, 100), byteList("abcd" asMutable setItemType("uint16")))
35 | )
36 | )
37 |
--------------------------------------------------------------------------------
/libs/iovm/tests/correctness/TraitsTest.io:
--------------------------------------------------------------------------------
1 | TraitsTest := UnitTest clone do(
2 | setUp := method(
3 | super(setUp)
4 | self A := Object clone do(foo := 42)
5 | )
6 |
7 | testNoConflicts := method(
8 | B := Object clone
9 | B addTrait(A)
10 | assertEquals(42, B foo)
11 | )
12 |
13 | testConflict := method(
14 | B := Object clone do(foo := 23)
15 | assertRaisesException(B addTrait(A))
16 | )
17 |
18 | testConflictRename := method(
19 | B := Object clone do(foo := 23)
20 | B addTrait(A, Map clone atPut("foo", "fooFromA"))
21 | assertEquals(42, B fooFromA)
22 | assertEquals(23, B foo)
23 | )
24 |
25 | testMissingArguments := method(
26 | assertRaisesException(A addTrait)
27 | )
28 | )
29 |
--------------------------------------------------------------------------------
/libs/iovm/tests/correctness/UnicodeTest-helper/UnicodeTest.txt:
--------------------------------------------------------------------------------
1 | Hello, world!
2 | Здравствуй, мир!
3 | この世界お。今日は!
4 |
--------------------------------------------------------------------------------
/libs/iovm/tests/correctness/UnicodeTest-helper/printer.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | scriptPath := method(call message label pathComponent) call
4 | Importer addSearchPath(Path with(scriptPath, ".."))
5 |
6 | args := System args
7 | if(args at(1) == "--print",
8 | UnicodeTest getSlot(args at(2)) print
9 | exit
10 | )
11 |
12 | if(args at(1) == "--arg",
13 | args at(2) asMutable replaceSeq("\\n", "\n") print
14 | exit
15 | )
16 |
--------------------------------------------------------------------------------
/libs/iovm/tests/correctness/WeakLinkTest.io:
--------------------------------------------------------------------------------
1 |
2 | WeakLinkTest := UnitTest clone do(
3 | test1 := method(
4 | a := Object clone
5 | self w := WeakLink clone setLink(a)
6 | assertTrue(w link == a)
7 | //a = 1
8 | //Collector collect
9 | )
10 | test2 := method(
11 | Collector collect
12 | assertTrue(w link == nil)
13 | )
14 | )
15 |
--------------------------------------------------------------------------------
/libs/iovm/tests/correctness/run.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | if(System args size > 1,
4 | # Run specific tests.
5 | System args slice(1) foreach(name,
6 | try(
7 | if(name endsWithSeq(".io"),
8 | # FIXME: This is platform dependent!
9 | Lobby doFile(System launchPath .. "/" .. name)
10 | ,
11 | Lobby doString(name)
12 | )
13 | ) ?showStack
14 | )
15 | System exit(FileCollector run size)
16 | ,
17 | # Run all tests in the current directory.
18 | System exit(DirectoryCollector run size)
19 | )
20 |
--------------------------------------------------------------------------------
/libs/iovm/tools/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Base Io build system
2 | # Written by Jeremy Tregunna
3 | #
4 | # io2c -- Take an Io script, and "compile" it into C source
5 | # code. I use the term loosely, since all it does is make a
6 | # big C String, and pipe that through IoState's evaluator.
7 | # Nevertheless, this is it!
8 |
9 | # Just build the bloody binary!
10 | add_executable(io2c io2c.c)
11 |
--------------------------------------------------------------------------------
/samples/misc/Account.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | Account := Object clone
4 | Account balance := 0.0
5 | Account deposit := method(v, self balance := self balance + v)
6 | Account show := method(write("Account balance: $", balance, "\n"))
7 |
8 | "Inital: " print
9 | Account show
10 |
11 | "Depositing $10\n" print
12 | Account deposit(10.0)
13 |
14 | "Final: " print
15 | Account show
16 |
--------------------------------------------------------------------------------
/samples/misc/Ackermann.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | ack := method(m, n,
4 | //writeln("ack(", m, ",", n, ")")
5 | if (m < 1, return n + 1)
6 | if (n < 1, return ack(m - 1, 1))
7 | return ack(m - 1, ack(m, n - 1))
8 | )
9 |
10 | ack(3, 4) print
11 | "\n" print
12 |
--------------------------------------------------------------------------------
/samples/misc/BottlesOfBeer.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | bottle := method(i,
4 | if(i==0, return "no more bottles of beer")
5 | if(i==1, return "1 bottle of beer")
6 | return i asString .. " bottles of beer"
7 | )
8 |
9 | for(i, 99, 1, -1,
10 | write(bottle(i), " on the wall, ", bottle(i), ",\n")
11 | write("take one down, pass it around,\n")
12 | write(bottle(i - 1), " on the wall.\n\n")
13 | )
14 |
--------------------------------------------------------------------------------
/samples/misc/Brackets.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 | // pythonish list and map syntax in Io
3 |
4 | Object squareBrackets := Object getSlot("list")
5 |
6 | a := [1, 2, 3]
7 | a println
8 |
9 | curlyBrackets := method(
10 | map := Map clone
11 | call message arguments foreach(arg, arg setName("atPut"); map doMessage(arg))
12 | map
13 | )
14 |
15 | {a := 1, b := 2} foreach(k, v, writeln(k, ": ", v))
16 |
--------------------------------------------------------------------------------
/samples/misc/Cards.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 | // By Jason Sackett
3 |
4 | Random setSeed(Date clone now asNumber)
5 |
6 | List shuffle := method(
7 | for(i, 1, size - 1,
8 | swapIndices(i, Random value(0, size) floor)
9 | )
10 | )
11 |
12 | Deck := Object clone do(
13 | init := method(
14 | self cards := List clone
15 | list("h", "d", "c", "s") foreach(suit,
16 | for(value, 2, 14, cards append(value asString .. suit))
17 | )
18 | )
19 | init
20 | shuffle := method(cards shuffle)
21 | dealCard := method(cards pop)
22 | show := method(cards foreach(i, card, write(card, " ")); "\n" print)
23 | )
24 |
25 | Deck show
26 | Deck shuffle
27 | Deck show
28 |
29 | Deck dealCard println
30 | Deck dealCard println
31 | Deck dealCard println
32 |
--------------------------------------------------------------------------------
/samples/misc/CommandLineArgs.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 | // Try running this script with some command line arguments. Example:
3 | // ./io CommandLineArgs.io a b c d
4 |
5 | writeln("Command line arguments:")
6 | System args foreach(println)
7 |
--------------------------------------------------------------------------------
/samples/misc/Conditions.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 |
4 | a := "foobar"
5 |
6 |
7 | writeln("test1: ",
8 | if(a == "foobar", "OK", "FAILED")
9 | )
10 |
11 | writeln("test2: ",
12 | if(a == "foo", "FAILED", "OK")
13 | )
14 |
15 | r := "FAILED"
16 | if( a == "foobar" ) then(
17 | r = "OK"
18 | ) elseif( a == "C" ) then(
19 | r = "FAILED"
20 | ) else (
21 | r = "FAILED"
22 | )
23 | writeln("test3: ", r)
24 |
25 |
26 | r := "FAILED"
27 | if( a == "A" ) then (
28 | r = "FAILED"
29 | ) elseif( a == "foobar" ) then (
30 | r = "OK"
31 | ) else (
32 | r = "FAILED"
33 | )
34 | writeln("test4: ", r)
35 |
36 | r := "FAILED"
37 | if( a == "foobar" ) then (
38 | r = "OK"
39 | ) elseif( a == "C" ) then (
40 | r = "FAILED"
41 | ) else (
42 | r = "FAILED"
43 | )
44 | writeln("test5: ", r)
45 |
--------------------------------------------------------------------------------
/samples/misc/Control.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 | // example of implementing control structures
3 |
4 | myif := method(condition,
5 | index := if(condition, 1, 2)
6 | call evalArgAt(index)
7 | )
8 |
9 | myif(19 > 5,
10 | writeln("19 > 5. Correct.")
11 | ,
12 | writeln("19 > 5. Incorrect.")
13 | )
14 |
15 |
--------------------------------------------------------------------------------
/samples/misc/ControlFlow.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | exampleBreak := method(
4 | b := Sequence clone
5 | for(i, 0, 10, if(i == 5, break); b appendSeq(i asString))
6 | b
7 | )
8 |
9 | exampleContinue := method(
10 | b := Sequence clone
11 | for(i, 0, 10, if(i == 5, continue); b appendSeq(i asString))
12 | b
13 | )
14 |
15 | exampleReturn := method(
16 | b := Sequence clone
17 | for(i, 0, 10, if(i == 5, return b); b appendSeq(i asString))
18 | b
19 | )
20 |
21 | writeln("break: ",
22 | if (exampleBreak == "01234", "OK", "FAILED")
23 | )
24 |
25 | writeln("continue: ",
26 | if (exampleContinue == "01234678910", "OK", "FAILED")
27 | )
28 |
29 | writeln("return: ",
30 | if (exampleReturn == "01234", "OK", "FAILED")
31 | )
32 |
--------------------------------------------------------------------------------
/samples/misc/Decompile.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | // evaluating a string
4 |
5 | writeln("1 + 2 ==> ", doString("1 + 2"))
6 |
7 | simpleDecompile := method(
8 | // test of decompiling a method
9 | Dog := Object clone
10 | Dog bark := method("woof!" print)
11 |
12 | writeln("simple decompiled method: ", Dog getSlot("bark") code)
13 | )
14 |
15 | fancyDecompile := method(
16 | writeln("fancy decompile: ", Lobby getSlot("simpleDecompile") asString)
17 | )
18 |
19 | simpleDecompile
20 | fancyDecompile
21 |
--------------------------------------------------------------------------------
/samples/misc/Dir.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 | //Directory directories := method(items select(item, item type ==("Directory") and(item name != ".") and(item name != "..")))
3 |
4 | writeln("")
5 | writeln("items:")
6 | Directory items foreach(path println)
7 |
8 | writeln("")
9 | writeln("directories:")
10 | Directory directories foreach(name println)
11 |
12 | //writeln("")
13 | //writeln("files:")
14 | //Directory files foreach(path println)
15 |
16 |
--------------------------------------------------------------------------------
/samples/misc/ErlangChallenge.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | //Collector debugOn
4 |
5 | Test := Object clone do(
6 | next ::= nil
7 | id ::= nil
8 | ping := method(
9 | //writeln("ping ", id)
10 | if(next, next @@ping)
11 | yield
12 | )
13 | )
14 |
15 | max := 10000
16 |
17 | t := Test clone
18 |
19 | setup := method(
20 | for(i, 1, max,
21 | t := Test clone setId(i) setNext(t)
22 | t @@id
23 | yield
24 | )
25 | )
26 |
27 | writeln(max, " coros")
28 | writeln(Date secondsToRun(setup), " secs to setup")
29 | writeln(Date secondsToRun(t ping; yield), " secs to ping")
30 |
--------------------------------------------------------------------------------
/samples/misc/FizzBuzz.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 |
4 | // Iterate 1-100 using a
5 | for (a, 1, 100,
6 |
7 | // Print the number
8 | if ((a % 3) != 0 and (a % 5) != 0,
9 | a print
10 | )
11 |
12 | // Number is divisible by 3
13 | if ((a % 3) == 0,
14 | "Fizz" print
15 | )
16 |
17 | // Number is divisible by 5
18 | if ((a % 5) == 0,
19 | "Buzz" print
20 | )
21 |
22 | // Newline
23 | "\n" print
24 | )
25 |
--------------------------------------------------------------------------------
/samples/misc/Foreach.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | a := List clone append(1, 2, 3)
4 |
5 |
6 | b := method(
7 | a foreach(i, v, if(v == 2, return v))
8 | write("shouldn't get here\n")
9 | )
10 |
11 | write("b := ", b, "\n") // => 2
12 |
--------------------------------------------------------------------------------
/samples/misc/Hanoi.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | H := method(n, f, u, t,
4 | if (n < 2) then (
5 | writeln(f, " --> ", t)
6 | ) else (
7 | H(n - 1, f, t, u)
8 | writeln(f, " --> ", t)
9 | H(n - 1, u, f, t)
10 | )
11 | )
12 |
13 | hanoi := method(n,
14 | if (n > 0 and n <= 10) then (
15 | H(n, 1, 2, 3)
16 | ) else (
17 | writeln("usage: hanoi n, where 0 < n <= 10")
18 | )
19 | )
20 |
21 | hanoi(3)
22 |
--------------------------------------------------------------------------------
/samples/misc/HelloWorld.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 | "Hello world!" println
3 |
4 | // Or
5 |
6 | writeln("Hello world (again)")
7 |
--------------------------------------------------------------------------------
/samples/misc/Inheritance.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | // Define a Dog object
4 |
5 | Dog := Object clone
6 | Dog barkPhrase := "woof!"
7 | Dog bark := method(barkPhrase print)
8 |
9 | // Create Chiwawa subclass of Dog
10 |
11 | Chiwawa := Dog clone
12 | Chiwawa barkPhrase := "yip!"
13 |
14 | write("Dog bark: ")
15 | Dog bark
16 | writeln
17 |
18 | write("Chiwawa bark: ")
19 | Chiwawa bark
20 | writeln
21 |
22 | // make an instance
23 | myChiwawa := Chiwawa clone
24 | myChiwawa barkPhrase := "Yo Quiero Taco Bell"
25 |
26 | write("myChiwawa bark: ")
27 | myChiwawa bark
28 | writeln
29 |
--------------------------------------------------------------------------------
/samples/misc/MainFile.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | if(isLaunchScript,
4 | # Run from the command line: io MainFile.io
5 | writeln("Wasn't included from another file")
6 | writeln
7 |
8 | writeln("System launchPath: ", System launchPath)
9 | writeln("System launchScript: ", System launchScript)
10 | writeln("System args: ", System args)
11 | ,
12 | # Loaded using doFile("MainFile.io")
13 | writeln("Was included from another file")
14 | )
15 |
--------------------------------------------------------------------------------
/samples/misc/SimpleCoro.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | yieldLoop := method(s,
4 | for(i, 1, 3, writeln(s, " ", i); yield)
5 | )
6 |
7 | coroDo(yieldLoop("a"))
8 |
9 | yieldLoop("b")
10 |
11 | writeln("done")
12 |
--------------------------------------------------------------------------------
/samples/misc/Sort.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 | words := "video killed the radio star" split
3 | writeln("original: ", words join(" "))
4 | words = words sortBy(method(a, b, a < b))
5 | writeln("sortBy: ", words join(" "))
6 |
--------------------------------------------------------------------------------
/samples/misc/Super.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 | isDebugging := false
3 |
4 | objs := List clone
5 |
6 | a := Object clone
7 | a init := method(
8 | objs append(self)
9 | if (isDebugging, writeln("a ", self asSimpleString, " init"))
10 | )
11 |
12 | b := a clone
13 | b init := method(
14 | super(init)
15 | objs append(self)
16 | if (isDebugging, writeln("b ", self asSimpleString, " init"))
17 | )
18 |
19 | c := b clone
20 | c init := method(
21 | super(init)
22 | objs append(self)
23 | if (isDebugging, writeln("c ", self asSimpleString, " init"))
24 | )
25 |
26 | if (isDebugging, writeln("------------------"))
27 |
28 | objs empty
29 | objs println
30 | t := c clone
31 |
32 | objs append(t)
33 |
34 | objs foreach(obj,
35 | if (obj != objs first,
36 | writeln("ERROR [not all selfs are the same]")
37 | exit
38 | )
39 | )
40 | writeln("OK")
41 |
42 | if (isDebugging, write("t := ", t uniqueId, " init\n"))
43 |
--------------------------------------------------------------------------------
/samples/misc/WeakLink.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 | weakLink := WeakLink clone setLink(Object clone)
3 |
4 | writeln("WeakLink to ", weakLink link asSimpleString)
5 |
6 | writeln("Collecting")
7 | Collector collect
8 |
9 | if(weakLink link == nil,
10 | writeln("Success: Object gone")
11 | ,
12 | writeln("Error: Object not gone")
13 | )
14 |
--------------------------------------------------------------------------------
/samples/misc/except.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 | e := try(foo)
3 | e catch(
4 | writeln
5 | writeln("caught: ", e error)
6 | writeln("standard reporting:")
7 | e showStack
8 | )
9 | writeln("done")
10 |
--------------------------------------------------------------------------------
/samples/misc/vtest.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | Vector := Sequence clone setItemType("float32") setEncoding("number")
4 |
5 | size := 10000
6 | v1 := Vector clone setSize(size) rangeFill
7 | v2 := Vector clone setSize(size) rangeFill
8 |
9 | loops := 10000
10 | s := Date secondsToRun(loops repeat(v1 += v2))
11 |
12 | writeln(size*loops/(s*1000000000), " GFLOPS")
13 |
14 | /*
15 | without vectorize
16 |
17 | 1.882818 GFLOPS
18 | 1.985482 GFLOPS
19 | 1.936254 GFLOPS
20 | 1.952277 GFLOPS
21 |
22 | with fastmath
23 |
24 | 1.941543 GFLOPS
25 | 1.918827 GFLOPS
26 | 1.896702 GFLOPS
27 | 2.135502 GFLOPS
28 |
29 | with vectorize and fastmath
30 |
31 | 1.977812 GFLOPS
32 | 2.092639 GFLOPS
33 | 2.039853 GFLOPS
34 | 2.055593 GFLOPS
35 | */
36 |
--------------------------------------------------------------------------------
/samples/shootout/mandelbrot-output.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IoLanguage/io/7113659c4342e98e9a86482b25441775fa066a96/samples/shootout/mandelbrot-output.txt
--------------------------------------------------------------------------------
/samples/shootout/nsieve.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | /* The Computer Language Shootout
4 | http://shootout.alioth.debian.org
5 | contributed by Robert Brandner */
6 |
7 |
8 | mkbuf := method(n,
9 | b := List clone
10 | b preallocateToSize(n)
11 | n repeat(b append(true))
12 | return b
13 | )
14 |
15 | nsieve := method(n,
16 | primes := mkbuf(n)
17 | cnt := 0
18 | for(i, 2, n,
19 | if(primes at(i),
20 | k := i + i
21 | while (k < n,
22 | primes atPut(k, false)
23 | k = k + i
24 | )
25 | cnt = cnt + 1
26 | )
27 | )
28 | writeln("Primes up to", n asString alignRight(9, " "), cnt asString alignRight(9, " "))
29 | )
30 |
31 | n := System args at(1) asNumber
32 | nsieve( (2^n)*10000 )
33 | nsieve( (2^(n-1))*10000 )
34 | nsieve( (2^(n-2))*10000 )
35 |
--------------------------------------------------------------------------------
/samples/shootout/nsievebits.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | /* The Great Computer Language Shootout
4 | http://shootout.alioth.debian.org
5 |
6 | contributed by Ian Osgood */
7 |
8 | Sequence pad := method(w, s:=self; while (s size < w, s=" ".. s) )
9 | Number clearBit := method(b, &(1 clone shiftLeft(b) bitwiseComplement) )
10 |
11 | sieve := Object clone do(
12 | flags := Sequence clone do(
13 | isSet := method(i, at(i/8) at(i%8) != 0)
14 | clear := method(i, atPut(i/8, at(i/8) clearBit(i%8) ) )
15 | )
16 | show := method(n,
17 | flags setSize((n/8) ceil)
18 | for (i, 0, flags size - 1, flags atPut(i, 255))
19 | primes := 0
20 | for (i, 2, n-1,
21 | if (flags isSet(i),
22 | primes = primes + 1
23 | if (i+i < n, for (j, i+i, n-1, i, flags clear(j) ) )
24 | )
25 | )
26 | writeln("Primes up to", n asString pad(9), primes asString pad(9))
27 | )
28 | )
29 |
30 | n := System args at(1) asNumber
31 | sieve show(10000 shiftLeft(n))
32 | sieve show(10000 shiftLeft(n-1))
33 | sieve show(10000 shiftLeft(n-2))
34 |
--------------------------------------------------------------------------------
/samples/shootout/reverse-complement.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | /* The Great Computer Language Shootout
4 | http://shootout.alioth.debian.org
5 |
6 | Contributed by Ian Osgood */
7 |
8 | seq := Sequence clone do(
9 | complementAt := method(i,
10 | "TVGHefCDijMlKNopqYSAABWxRz" at(at(i)-65) # "A" at(0)
11 | )
12 | revComp := method( if (size == 0, return self)
13 | j := uppercase size
14 | for (i, 0, size / 2 - 0.25,
15 | j = j - 1
16 | t := complementAt(j)
17 | atPut(j, complementAt(i)) atPut(i, t)
18 | )
19 | self
20 | )
21 | output := method( if (size == 0, return self)
22 | width := 60
23 | start := 0; end := width
24 | while (end < size,
25 | slice(start,end) println
26 | start = end; end = end + width
27 | )
28 | slice(start) println
29 | self
30 | )
31 | )
32 |
33 | input := File standardInput
34 | while (line := input readLine,
35 | if (line beginsWithSeq(">"),
36 | seq revComp output empty; line println,
37 | seq appendSeq(line) )
38 | )
39 | seq revComp output
40 |
--------------------------------------------------------------------------------
/samples/shootout/spectral-norm.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | /* The Computer Language Shootout
4 | http://shootout.alioth.debian.org
5 | contributed by Gavin Harrison */
6 |
7 | Range // Load the Range addon
8 |
9 | SNorm:=Object clone do(
10 | App:=method(n,
11 | n1:=n-1
12 | u:=List clone preallocateToSize(n)
13 | v:=List clone preallocateToSize(n)
14 | n repeat(u append(1);v append(0))
15 | 0 to(9) foreach(n3,n2,MAtAv(n,u,v);MAtAv(n,v,u))
16 | vBv:=vv:=vAt:=0
17 | for(i,0,n1,vAt=v at(i);vBv=vBv+u at(i)*vAt;vv=vv+(vAt*vAt))
18 | (vBv/vv)sqrt)
19 | A:=method(i,j,ij:=i+j;1/(ij*(ij+1)/2+i+1))
20 | MAv:=method(n,v,Av,
21 | n1:=n-1
22 | for(i_i,0,n1,
23 | for(i_j,0,n1,Av atPut(i_i,Av at(i_i)+A(i_i,i_j)*v at(i_j)))))
24 | MAtv:=method(n,v,Atv,
25 | n1:=n-1
26 | for(i_i,0,n1,
27 | Atv atPut(i_i,0)
28 | for(i_j,0,n1,Atv atPut(i_i,Atv at(i_i)+A(i_j, i_i)*v at(i_j)))))
29 | MAtAv:=method(n,v,AtAv,
30 | u:=List clone preallocateToSize(n)
31 | n repeat(u append(0))
32 | MAv(n,v,u)
33 | MAtv(n,u,AtAv)))
34 | n:= System args at(1) asNumber
35 | SNorm App(n) asString(0,9) println
36 |
--------------------------------------------------------------------------------
/samples/shootout/sumcol-output.txt:
--------------------------------------------------------------------------------
1 | 500
2 |
--------------------------------------------------------------------------------
/samples/shootout/sumcol.io:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env io
2 |
3 | /* The Great Computer Language Shootout
4 | http://shootout.alioth.debian.org
5 |
6 | Contributed by Ian Osgood */
7 |
8 | sum := 0
9 | file := File standardInput
10 | while (line := file readLine, sum = sum + line asNumber)
11 | sum println
12 |
--------------------------------------------------------------------------------
/samples/speed/SpeedResults:
--------------------------------------------------------------------------------
1 |
2 | Io localAccesses := 26.73
3 | Io localSets := 10.32
4 |
5 | Io slotAccesses := 11.19
6 | Io slotSets := 4.89
7 |
8 | Io blockActivations := 3.66
9 | Io instantiations := 2.15
10 | Io cfuncActivations := 24.40
11 | Io version := 20050615
12 | // values in millions per second
13 |
14 | Python localAccesses := 23.23
15 | Python localSets := 23.25
16 |
17 | Python slotAccesses := 6.09
18 | Python slotSets := 5.89
19 |
20 | Python blockActivations := 1.59
21 | Python instantiations := 1.38
22 | Python version := "2.3.0 final 0"
23 |
24 | // values in millions per second
25 |
26 |
27 | Ruby localAccesses := 8.12
28 | Ruby localSets := 5.75
29 |
30 | Ruby slotAccesses := 3.36
31 | Ruby slotSets := 4.41
32 |
33 | Ruby blockActivations := 2.26
34 | Ruby instantiations := 1.44
35 | Ruby version := "1.6.8"
36 | // values in millions per second
37 |
38 |
--------------------------------------------------------------------------------
/tools/docker/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ubuntu:latest
2 |
3 | # Install build dependencies
4 | RUN apt-get update && \
5 | DEBIAN_FRONTEND=noninteractive \
6 | apt install -y tzdata && \
7 | apt-get install -y \
8 | build-essential \
9 | git \
10 | cmake
11 |
12 | # clone latest from Io repository into src/io
13 | WORKDIR /src
14 | RUN git clone --recursive https://github.com/IoLanguage/io.git
15 |
16 | # build and install Io
17 | WORKDIR /src/io
18 | RUN mkdir build
19 | WORKDIR /src/io/build
20 | RUN cmake ..
21 | RUN make
22 | RUN make install
23 |
24 | ENTRYPOINT [ "bash" ]
--------------------------------------------------------------------------------
/tools/docker/README.md:
--------------------------------------------------------------------------------
1 | ## Docker for Io Language
2 |
3 | Developed while pursuing 7 Languages in 7 Weeks. This image should provide a reusable 'environment' for development with Io.
4 |
5 | Naturally this depends on docker, so you'll need it installed before this will be useful. Afterwards, you should be able to run the two shell scripts to built and then run the container.
6 |
7 | ## Looking towards the future
8 |
9 | In Theory this image could be used as the basis for future, more useful Io containers, that you could import your own projects into.
10 |
11 | In practice it might be good to add this Image to Docker Hub, if it proves sufficiently useful, with tags to enable users to leverage specific tags. That would allow us to ease the initiation of new developers into the language.
12 |
--------------------------------------------------------------------------------
/tools/docker/buildDockerIo.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # Assumes you've already installed docker on your system
3 | # Build script for Docker Io image
4 | docker build -t io .
--------------------------------------------------------------------------------
/tools/docker/runDockerIo.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # Assumes you've already run 'buildDockerIo'
3 | # Run interactive Io image, with automatic teardown
4 | docker run -it --rm io
--------------------------------------------------------------------------------
/tools/old/processIoCode.io:
--------------------------------------------------------------------------------
1 | doFile("processIoCodeFor.io")
2 | processIoCodeFor(".")
3 |
--------------------------------------------------------------------------------
/tools/old/processIoCodeFor.io:
--------------------------------------------------------------------------------
1 | processIoCodeFor := method(path,
2 | d := Directory clone setPath(path)
3 |
4 | processed := d folderNamedCreateIfAbsent("_ioCodeProcessed")
5 |
6 | d folderNamed("_ioCode") filesWithExtension(".io") foreach(file,
7 | processed fileNamed(file name) openForUpdating truncateToSize(0) write("__noShuffling__;\n") write(file contents asMessage asString) close
8 | )
9 | )
10 |
--------------------------------------------------------------------------------