Future Language — Browser Runtime

Example 1 — Basic (no AI required)

names = ["Alice", "Bob", "Carlos"]
for name in names
  print "Olá, {name}!"
end

user = { name: "João"  age: 30 }
if user.age >= 18
  print "{user.name} é adulto"
end

Example 2 — Memory (no AI required)

memory.set("visits", 1)
count = memory.get("visits")
print "Visitas: {count}"

Example 3 — AI requires API key or proxy

try
  answer = ai.ask("What is 2 + 2? Reply with just the number.")
  print "AI diz: {answer}"
catch err
  print "AI não configurada — adiciona uma key ou proxy"
end

Example 4 — Agent requires API key or proxy

agent tradutor
  use ai
  resultado = ai.ask("Traduz para português: {goal}")
  return resultado
end

try
  pt = tradutor("Good morning, how are you?")
  print pt
catch err
  print "Agent precisa de AI — adiciona uma key ou proxy"
end

Output

Proxy server example production

// server.js — guarda a tua key no servidor, nunca no browser
import express from 'express'
import { runtime } from 'future-lang/runtime'

const app = express()
app.use(express.json())

runtime.ai.configure('openai', process.env.OPENAI_KEY)

app.post('/api/ai/ask',   async (req, res) => res.json({ text: await runtime.ai.ask(req.body.prompt) }))
app.post('/api/ai/chat',  async (req, res) => res.json({ text: await runtime.ai.chat(req.body.messages) }))
app.post('/api/ai/embed', async (req, res) => res.json({ embedding: await runtime.ai.embed(req.body.text) }))
app.listen(3000)
<!-- HTML — a key nunca aparece aqui -->
<script type="module" src="future-browser.js"></script>
<script type="module">
  import Future from './future-browser.js'
  Future.configure({ proxy: '/api/ai' })
</script>

<script type="future">
  answer = ai.ask("Olá!")
  print answer
</script>