언어,language

Difference between r1.49 and the current

@@ -123,80 +123,7 @@
[[Self]] { [[WpKo:셀프_(프로그래밍_언어)]] [[WpEn:Self_(programming_language)]] }
[[Newspeak]] { [[WpEn:Newspeak_(programming_language)]] }
[[아이오,Io]] { [[WpKo:아이오_(프로그래밍_언어)]] }
[[루아,Lua]] =루아,Lua 루아,Lua 루아,Lua
{
[[DSL]]=[[domain_specific_language]]로 가장 많이 쓰이는 듯?? / Neovim{ Ggl:neovim }이 Ggl:vimscript 대신 이걸 [[scripting_language]]로 씀.
 
[[메타테이블,metatable]] =메타테이블,metatable =,metatable 메타테이블 metatable
{
{{{
local user = {
first = "John",
last = "Doe"
}
local metaUser = {
__tostring = function(user) -- 내부 method를 재정의? <- 아래 print(user)에서 호출됨.
return user.first .. " " .. user.last
end
__call = function(user) -- user자체를 호출되게 만드는 것. <- 아래 user()에서 호출됨.
print("Tables can be functions?!")
end
}
 
setmetatable(user, metaUser) -- user 객체를 새로운 behavior에 연결.
print(user)
user()
}}}
 
via https://youtu.be/f5MpjDtnFP4?si=mLzN38g9R8ltUKtH&t=345
}
 
루아의 코루틴으로 cooperative multitasking을 할 수 있다. 이런 식으로. [[루아,Lua]] [[코루틴,coroutine]]
{
ex.
{{{
function task1()
for i = 1, 5 do
print("Task 1, step " .. i)
coroutine.yield()
end
end
 
function task2()
for i = 1, 5 do
print("Task 2, step " .. i)
coroutine.yield()
end
end
 
local co1 = coroutine.create(task1)
local co2 = coroutine.create(task2)
 
for i = 1, 5 do
coroutine.resume(co1)
coroutine.resume(co2)
end
}}}
결과는
 
Task 1, step 1
Task 2, step 1
Task 1, step 2
Task 2, step 2
Task 1, step 3
Task 2, step 3
Task 1, step 4
Task 2, step 4
Task 1, step 5
Task 2, step 5
 
via https://youtu.be/f5MpjDtnFP4?si=mLzN38g9R8ltUKtH 6:10
}
 
} // metatable Ggl:"Lua metatable" Ggl:"루아 메타테이블"
 
https://librewiki.net/wiki/Lua [[WpKo:루아_(프로그래밍_언어)]]
} // Lua .... Ggl:"Lua language" Bing:"Lua language"
[[루아,Lua]]
[[딜런,Dylan]] =,Dylan {
[[WpKo:딜런_(프로그래밍_언어)]]
[[WpEn:Dylan_(programming_language)]] = https://en.wikipedia.org/wiki/Dylan_(programming_language)


Sub:
자연어,natural_language
인공어,artificial_language
명세언어,specification_language - curr at 명세,specification
형식언어,formal_language
컴퓨터언어,computer_language
기계어,machine_language
logical_language =,logical_language . logical_language
{
logical language
WtEn:logical_language (?)
https://planetmath.org/logicallanguage
https://proofwiki.org/wiki/Definition:Logical_Language
MKL: 형식언어,formal_language 언어,language 로직,logic
Ggl:logical language
TODO ADDTO 로직,logic and del this line
}
// 오더,order에 따라 {
1 first-order_language =,first-order_language . first-order_language
}
프로그래밍언어,programming_language
DDL,data_definition_language
DML,data_manipulation_language
메타언어,metalanguage =메타언어,metalanguage =,metalanguage . metalanguage Ndict:메타언어 WtEn:metalanguage .. Ggl:metalanguage
{
cmp object_language via "혹자의 말을 빌리자면, object language와 metalanguage의 구분도 잘 안 합니다 .... 여타 교재와 달리 object language와 metalanguage의 차이"[1]
cmp object_theory vs metatheory via "object theory와 metatheory의 구분을 해 주지는 않기 때문에"
}
중간언어 intermediate_language (IL)
{
MKLINK
중간표현 intermediate_representation (IR) - 표현,representation




특징
call-by-name / call_by_name







monad =,monad =,monad . monad WtEn:monad Srch:monad WpEn:Monad adj. monadic ?
free_monad =,free_monad =,free_monad . free_monad WtEn:free_monad Srch:free_monad WpEn:Free_monad
{
https://wiki.haskell.org/Free_monad
}

Twin:



Haskell_Curry에서 이름을 딴? - Yes

Misc twin:
WtEn:Haskell


웹어셈블리,WebAssembly (= Wasm)
=웹어셈블리,WebAssembly =,WebAssembly 웹어셈블리 WebAssembly | =,wasm wasm
{




}
Simula =,Simula . Simula
{
시뮬라 ? rationale ? chkout WtEn:Simula



...
Naver:Simula
Ggl:Simula
}
Caml =,Caml . / OCaml =,OCaml .
{
https://rosettacode.org/wiki/Category:OCaml
Ndict:OCaml
Ggl:OCaml
}
Idris =,Idris =,Idris . Idris
{
https://github.com/jwvg0425/IdrisPractice